SQL Injection
Jak się przed tym ustrzec, co zrobić by nie dopuścić do takiego ataku ?.
Podstawowym sposobem jest użycie funkcji mysql_real_escape_string()która jest dostępna na serwerach obsługujących PHP i MySQL. Innym łatwiejszym sposobem, dzięki któremu nie będziemy musieli dodawać do każdego zapytania do bazy funkcji mysql_real_escape_string() jest włączenie na serwerze magic_quotes_qpc. Te dwie metody są bardzo proste do ustawienia i skutecznie chronią dzięki dodawaniu backslashów do znaków specjalnych takich jak ‘,””, co udaremnia atak sql injection. Dodatkowym zabezpieczeniem i zarazem przydatnym elementem dla naszej witryny jest zastosowanie modułu Apache’a mod_rewrite. Dzięki zastosowaniu tego modułu mamy możliwość ukrycia oryginalnej nazwy skryptu a także zmeinnych wysyłanych metodą GET. moduł ten jest często wykorzystywany przy optymalizacji strony pod kątem wyszukiwarek. Przykładowo adres:
https://stevedesign.com.pl/index.php?p=Phpacademy
Aby ustawić maskowanie dla zmiennej p musimy ustawić w pliku .htaccess następujący fragment kodu:
Options FollowSymLinks
RewriteEngine On
RewriteRule ^aktualnosci/([a-zA-Z0-9-/]+)/$ index.php?p=$1
Dzięki takiemu zabiegowi nasz adres wygląda tak: https://stevedesign.com.pl/aktualnosci/Phpacademy/ , a co za tym idzie jest bardziej czytelny niż ten bez użycia modułu i bezpieczny przed atakiem sql injection. Taki link nazywamy przyjaznym URL’em.
Brak komentarzy