Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> snippets do bazy, problem xss i SQL Injection
Fixer
post
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


--------------------
Go to the top of the page
+Quote Post
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




htmlspecialchars" title="Zobacz w manualu PHP" target="_manual na XSS
mysql_real_escape_string" title="Zobacz w manualu PHP" target="_manual na sql injection
Go to the top of the page
+Quote Post
Fixer
post
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


--------------------
Go to the top of the page
+Quote Post
megawebmaster
post
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.
Go to the top of the page
+Quote Post
Apocalyptiq
post
Post #5





Grupa: Zarejestrowani
Postów: 230
Pomógł: 3
Dołączył: 8.01.2008

Ostrzeżenie: (10%)
X----


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)
Go to the top of the page
+Quote Post
dr_bonzo
post
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.
Go to the top of the page
+Quote Post
Spawnm
post
Post #7





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Cytat(megawebmaster @ 22.04.2009, 20:05:47 ) *
Jak masz dostęp do .htaccess to możesz wyłączyć magic_quotes. Z poziomu skryptu chyba też się da.

mogę prosić o informacje jak to zrobić ?
Go to the top of the page
+Quote Post
bełdzio
post
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


--------------------
Go to the top of the page
+Quote Post
Fixer
post
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


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 14:30