Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Zend Framework] Znaki ucieczki
zordon
post
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

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


uogólniając problem, chodzi mi o to, aby dane pochodzące od usera opatrzyć znakami ucieczki, nic prostszego. Używając mysql uzylbym w takim wypadku mysql_escape_string, mysqli - mysqli::escape_string. Ostatecznie chyba działałoby, gdybym używał addslashes() i stripslashes() ale to jak cofanie się do epoki kamienia łupanego...

W projekcie uzywam do komunikacji z bazą Zend_Db_Table, jako adaptera bd uzywam PDO_MYSQL.
Do logowania stosuję zend_auth. Dla przykladu opisze nastepujaca sytuacje. W moim projekcie loginem jest email.
Logowanie w "normalnym" przypadku(bez znaku "\" ) dziala ok. Jednak u mnie logowanie jest rowniez rejestracją, tzn jesli uzytkownik nie ma konta, wystarczy ze poda email i haslo z listy hasel rozeslanych wczesniej w zaproszeniach, wtedy skypt dodaje go do bazy i od razu loguje. I teraz gwóźdź programu - gdy nowy uzytkownik loguje się z adresem email zawierajacym "\" (wiem, ze email nie powinien zawierac takich znakow ale celowo nie odfiltrowalem tego aby latwiej bylo wychwycic problem) zostaje zarejestrowany i zalogowany poprawnie. Jednak po wylogowaniu proba zalogowania na identyczne dane skutkuje komunikatem o niepoprawnych danych, a w tle dodaniem nowego uzytkownika(czyli skrypt nie wykryl osoby o takim mailu w bazie) o takich samych danych!(widać to jak na dłoni w phpmyadminie). Czyli potrzeba mi innymi slowy takiej samej metody opatrzania znakami ucieczki danych, jakiej uzywa zend_auth. Pewnie jest to banalne, a ja cos przeoczylem, ale prosze o pomoc.
Aha, dodam jeszcze tylko, ze nie uzywam Zend_Form, tylko wlasnych formularzy.
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: 25.08.2025 - 16:02