![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 24.10.2004 Skąd: TG Ostrzeżenie: (0%) ![]() ![]() |
Mam następujący problem:
1. Mamy formularz, do którego użytkownicy wpisują kod (php/sql/js/i wiele innych...) 2. Zawartość formularza wysyłana jest do bazy danych mysql 3. Na końcu zawartość bazy z kodami jest wyświetlana (ale nie wykonywana) na stronie Jak prawidłowo zabezpieczyć owy formularz przed XSS (Cross Site Scripting) oraz SQL Injection? Zależy mi na tym aby kod z formularza był w bazie danych w postaci niezmienionej! W chwili obecnej serwer ma włączony et_magic_quotes_gpc" title="Zobacz w manualu PHP" target="_manual co powoduje ze kod z: echo ('text') jest zamieniany na echo (\'text\'); Ten post edytował Fixer 22.04.2009, 16:12:30 -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 24.10.2004 Skąd: TG Ostrzeżenie: (0%) ![]() ![]() |
no tak ale mysql_real_escape_string" title="Zobacz w manualu PHP" target="_manual dodaje mi ukośniki też do bazy mysql jak temu zaradzić?
StripSlashes" title="Zobacz w manualu PHP" target="_manual pomoże tutaj przy wyświetlaniu danych z bazy? Ten post edytował Fixer 22.04.2009, 16:08:36 -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 17 Dołączył: 8.11.2008 Skąd: Libiąż Ostrzeżenie: (0%) ![]() ![]() |
Jak masz dostęp do .htaccess to możesz wyłączyć magic_quotes. Z poziomu skryptu chyba też się da.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 3 Dołączył: 8.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
Ja co do zapobiegania SQL Injection polecam PDO i bindowanie parametrów (zmiennych).
Co do XSS właśnie htmlspecialchars. -------------------- http://estender.net - profesjonalne strony i aplikacje internetowe (Ruby on Rails, Kohana PHP)
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Przejedz dane z $_POST/$_GET strip slashem (a lepiej wylaczyc te magic quotes).
Do bazy wrzucaj je wyeskejpowane (mysq_real_escape() lub jeszcze lepiej z uzyciem PDO). Przy wyswietlaniu uzyj htmlspecialchars() co wypisze ci HTML zamiast go parsowac. -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
http://pl.php.net/manual/pl/function.ini-set.php
a jesli chodzi o htaccess to zapoznaj sie z dyrektywa php_value -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 24.10.2004 Skąd: TG Ostrzeżenie: (0%) ![]() ![]() |
w pliku .htaccess dopisz:
php_flag magic_quotes_gpc Off php_value magic_quotes_gpc Off Ten post edytował Fixer 22.04.2009, 21:38:01 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 14:30 |