![]() |
![]() |
![]()
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? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 14 Dołączył: 2.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Np. na home.pl jeżeli próbuje np wysłać przez formularz coś w stylu:
Kod jakiś tekst ' coś dalej a zapytanie wygląda tak:
w efekcie otrzymuję błąd, a funkcja echo wyświetla: Kod SELECT * FROM `table` WHERE user='jakiś tekst \\' coś dalej' widać tu dwa slashe. jednak gdy wyślę(bez zabezpieczeń):
zapytanie wykonuje się poprawnie. wynik: Kod SELECT * FROM `table` WHERE user='jakiś tekst \' coś dalej' To tak jakby wysłane dane przez formularz same się zabezpieczyły. Ale czy tak jest na każdym serwerze? Wątpię. Dlatego chciałbym się dowiedzieć jak sprawdzić czy dane wysłane przez formularz są już zabezpieczone? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 23:51 |