![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 27.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Funkcje magic_quotes_gpc, mysql_escape_string i addslashes dzialaja. Polaczenie z baza nie wykrzacza sie jak w zmiennej jest np apostrof '. W bazie nie zapisuja sie znaki ucieczki tzn \. Sprawdzilem przy wlaczonej funkcji magic_quotes_gpc i przy wylaczonej a za to z mysql_escape_string i addslashes. W zadnym z tych wypadkow w bazie nie pokazuja sie dodatkowe znaki. Zastanawiam sie czy jest sens stosowania funkcji stripslashes przy wyciaganiu danych z bazy skoro nie ma w niej zadnych dodatkowych znakow \ ?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Magic quotes to samo zlo. Zostalo wymyslone dla mega poczatkujacych programistow aby zapobiec SQL injection, ale juz tych troche zaawansowanych to wnerwia.
Wiec najlepiej: wylaczyc magic quotes - wszelakie, nie uzywac addslashes, tylko mysql'owego eskejpowania (real escape...) do wstawiania danych do bazy. Przy wyciaganiu danych nie usuwasz wtedy slashy. No a jak nie mozesz magic quotes wylaczyc to najlepiej jak najwczesniej jej usunac ze zmiennych $_GET i $_POST - tu wlasnie stripslashesami. No i (nie pamietam bo nie uzywam) ale przy ktorychs z magic_quotes, dane pobrane z bazy tez beda mialy slashe dodane, i trzeba je znow usuwac (stripslashes). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 17:54 |