![]() |
![]() |
![]()
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: 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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 02:21 |