Правилно ли филтрирам данните?

ventsi34

Registered
Здравейте, искам да попитам дали правилно филтрирам данните. Сега ще обясня малко по-подробно какво правя точно.

Променливите, който отиват в базата данни независимо дали са включени в клаузата WHERE на заявката или се INSERT-ват ги преработвам с mysql_real_escape_string().

Променливите, които се визуализират на екрана на потребителя и дори тези, с които се изваршват сравнения с if ги минавам с htmlentities($promenlivata, ENT_QUOTES, 'UTF-8').

Според вас това правилен подход ли е? Трябва ли променливите, които отиват в базата данни да са минати и с htmlentities?
 
htmlentities ги използвай като показваш информацията в браузъра.
Mysql_real_escape_string не е достатъчна. Дори понякога и prepared statements на MyySQLl и PDO не са достатъчни :lol:
За добра защита ти препоръчвам да вземеш файла ./system/libraries/input.php от последният релийз на CodeIgniter и малко да го редактираш за да ти влезе в употреба. Наскоро го разглеждах и предпазва от неща, които никога не би се сетил да филтрираш :)
 
а за да не пускам нова тема ще пиша тук. Имам форма за аватар, а снимките ще се качват с директен линк. А въпросът е как да проверя дали директния линк е валиден или не?
 
Предполагам записваш снимките от отдалечени сървъри с cURL. Провери хедърите с curl_getinfo и ако статус кода е 200, значи си намерил изображението.
Също така добра практика е след като запазиш изображението да проверяваш дали функцията getimagesize връща параметри, защото ако ти качат скрипт маскиран като изображение, функцията няма да може да извади информацията и ще даде грешка :)
 

Back
Горе