Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP]używanie real_escape_string dla danych wysyłanych z formularza
radziopoke
post
Post #1





Grupa: Zarejestrowani
Postów: 125
Pomógł: 14
Dołączył: 2.06.2010

Ostrzeżenie: (0%)
-----


Często na stronach mam różne formularze najczęściej dane z nich wysyłane są metodą post.

Słyszałem już nie raz że jeżeli takie dane chcemy przesłać do bazy MySQL należy użyć funkcji real_escape_string by zabezpieczyć się przed włamaniem. No i tu pojawia się problem gdyż wysyłane dane na jednym serwerze potrzebują tej funkcji na innym tylko to przeszkadza.

Przykład
w formularzu wpisałem:
coś tam ' i coś innego

Wiadomo, że znak ' powinien zostać "zabezpieczony" lecz nie wiedzieć czemu na jednym serwerze taki tekst wysłany metodą post(nie wiem jak jest z get) jest przekazany w tablicy post jako: coś tam \' i coś innego (oczywiście wypisanie tego na ekranie nie pokarze nam slesha)
Lecz jeżeli chciałbym wysłać taki tekst do bazy i potraktuję to jeszcze za pomocą real_escape_string to przy wypisaniu danych z bazy widnieje na ekranie tekst z \'

Jednak niektóre serwery (przynajmniej tak chyba kiedyś było) nie miały tak zabezpieczonych danych i bez real_escape_string wyskakiwał błąd zapytania.

Ciekawię się czy teraz wszędzie tak jest, że dane wysłane z formularza są tak zabezpieczanie, a jak nie to jak stworzyć kod by na każdym serwerze działał dobrze?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Michael2318
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

Ostrzeżenie: (0%)
-----


http://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO
Cytat
Kiedy PHP był jeszcze niewielkim projektem, ktoś wpadł na pomysł wspomożenia programistów i wymyślił tzw. magic quotes. Opcja ta, jeżeli jest włączona, powoduje, że we wszystkich danych z tablic $_GET, $_POST oraz $_COOKIE apostrofy są automatycznie poprzedzane backslashem, dzięki czemu nie trzeba się tym zajmować samodzielnie.

Podsumowując, masz tam włączone magic_quotes.
A czy tak jest na każdym serwerze - zależy czy jest włączone i tyle.
Ja bym to wyłączył i sam zabezpieczał dane. Jak wyłączyć, tutaj: http://tosiek.pl/wylaczenie-magic_quotes_g...quotes_runtime/

Ten post edytował Michael2318 9.04.2013, 09:18:06
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 12.10.2025 - 02:21