Я начинаю изучать PHP 5 (я всегда использовал PHP 4), и для этого я создаю небольшую (очень легкую) CMS. В руководстве я увидел, что они добавили функции для фильтрации варов. Моя CMS должна обрабатывать некоторый HTML-контент для содержимого страниц. Являются ли эти функции (filter_input, filter_var, ecc ..) достаточно дезинфицирующими фильтрами? Или мне нужно создать более глубокую пользовательскую функцию?Filter php 5 input
ответ
Да, этого почти всегда достаточно, чтобы использовать их. Однако, в зависимости от каждого вашего запроса или каждого отображаемого вами содержимого страницы, имейте в виду, что не очень специальные символы также могут вызывать неожиданности. Вкратце,
- Если вы вставляете в mysql, указываете все и не допускаете, чтобы строки содержали необработанные кавычки. Используйте mysql_real_escape_string и его друзей.
- Если вы пишете в файл, вы в безопасности - помните только то, что вы читаете.
- Если вы поместите значения по умолчанию в поля ввода, обратите внимание на ту же цитату, которую вы используете вокруг свойства value. Вредоносные строки попытаются закрыть цитаты.
- Если вы выводите HTML, используйте html_special_chars, чтобы избежать сюрпризов. Большой знак и амперсанд - ваши враги, если вы не справляетесь с ними.
Sanitizers сделают все для вас (фильтрация низких символов и т. Д.).
Почему вы сказали ему использовать _almost_ ** устаревший ** (способ для уязвимых) 'mysql _ * _ escape_anything' вместо использования PDO ????? Используйте ** PDO ** ради бога! или mysqli в этом отношении – hanzo2001
Так как ему нужно разрешить некоторые HTML, html_special_chars мало помогает ему. –
mysqli в порядке - вот почему я сказал «... и его друзья». PDO - это что-то ненужное на этом уровне. Но все в порядке. – dkellner
- 1. PHP Filter Input побег Выход
- 2. decimal input filter android
- 3. yii2 Grid Filter - Ignore Filter Input Change
- 4. Multi-Input Custom AngularJS Filter
- 5. Pentaho Filter Regexp Excel Input
- 6. extjs 5 getStore(). Filter
- 7. ZF2 Null Input Filter и Digits Validator
- 8. Input Filter - Regex for Two Decimals
- 9. RxJS 5 filter: 2 combinationLatest
- 10. Laravel 5 filter on pivot
- 11. php - FILTER _VALIDATE_EMAIL check
- 12. Использование $ input-> all() вместо Input :: all() Laravel-5
- 13. XSS PHP Log Filter?
- 14. PHP: Filter MYSQL array
- 15. Php Character Filter
- 16. PHP HTML Filter Feature
- 17. PHP filter array
- 18. PHP - SQL Query filter +
- 19. PHP: Filter array
- 20. Php Filter array
- 21. PHP Lame stream filter
- 22. php array filter
- 23. PHP «php: // input» vs $ _POST
- 24. PHP Form Input Filtering
- 25. php form multiple input
- 26. PHP Forming Form Input
- 27. Что означает «php: // input»?
- 28. escaping input in php
- 29. Looping Input PHP
- 30. file_get_contents («php: // input») пуст
Это зависит от ваших потребностей. прочитайте эти фильтры и посмотрите, соответствуют ли они тем, что вам нужно. Если нет, сделайте глубже. –
Если это веб-мастер, который входит в html, вам не нужно его фильтровать. Если это hmlt, написанный любым пользователем (даже зарегистрированным в нем), вам нужно написать html sanitizer. Я лично успешно использовал [Очиститель HTML] (http://htmlpurifier.org/). –