Czytając informacje na temat wstrzykiwania SQL, zastanawiam się, jak bezpiecznie tworzyć aplikacje w Laravel i jak testować, czy twoje bezpieczeństwo spełnia dzisiejsze standardy?Jak bezpieczny jest system operacyjny 5.1?
Odpowiedz
Opracowałem kilka aplikacji Laravel i znalazłem je całkiem bezpieczne w moich oczach.
Przeprowadziłem różne testy penetracyjne, skaner OWASP ZAP, sqlsus i 5+ narzędzi, w tym bbqsql i podobne rzeczy do testów pisaków DB, nmap do skanowania portów, a następnie przełączono ZAP na tryb ataku, aby wykonać różne XSS i CSRF i znaleziono brak luk w zabezpieczeniach samej Laravel - tylko kilka rzeczy z samego serwera, które naprawiłem.
Ważne jest, aby powiedzieć, że żadna aplikacja nie jest w 100% bezpieczna, ponieważ zależy to w dużej mierze od sposobu jej wykonywania.
Jednak laravel ma zrobić bardzo dobrą pracę po wyjęciu z pudełka, chroniąc cię od: zastrzyk
SQL: jeśli używasz Eloquent odpytuje te można zachować bezpieczny. Ale będziesz podatny na ataki, jeśli użyjesz zapytań o numer
DB::raw()
, ponieważ mogą one otworzyć cię do zastrzyku.CSRF: laravel dba o to z CSRF tokeny, że sprawdza się na każde żądanie
POST
więc upewnij się ich używać, to w istocie chroni przed kimś zmiany charakteru wniosku, tj odPOST
doGET
.XSS: Najpierw odkaż dane wejściowe użytkownika. Zmienne nie są unikane przy użyciu składni ostrzy
{!! !!}
, która w kodzie HTML odpowiada<?= e($foo) ?>
, natomiast dane{{ }}
.
Jest to dość krótkiprzegląd bezpieczeństwa laravel. Gdy zaczniesz się otwierać, przesyłając pliki itp., Może to być trochę trudniejsze, dodatkowo robiąc niebezpieczne rzeczy w PHP.
Ten artykuł here, może być interesującą lekturą, aby przejść nieco głębiej z powyższym.
W krótkim, Znalazłem laravel być bezpieczny od wszelkich ataków, jakie kiedykolwiek prowadzonych za pomocą wymownych i odkażania wejście gdzie wymagane wraz z prawidłowym wykorzystaniem składni łopatki i CSRF
tokena.
Czy możesz opracować na "tylko kilka rzeczy z ... poprawione." – davejal
To były rzeczy do zrobienia z moją instalacją apache i konfiguracją serwera. Naprawiłem to, aktualizując apache i zmieniając niektóre ustawienia serwera. Były to drobne rzeczy i nadal trudne do wykorzystania, ale lepsze niż smutek. – James
Czy jesteś pewien {@}? !!} rzecz? – jartaud