|
|
|
|
|
для: cheops
(22.09.2006 в 20:44)
| | Спасибо всем я нашел решение как хотябы на 50% не допустить эксплоит
HTML_SAFE в pear.php.net | |
|
|
|
|
|
|
|
для: Ressfourt
(22.09.2006 в 19:23)
| | Тогда можно действительно использовать функцию strig_tags() - она позволяет явно указать тэги, которые не нужно удалять. | |
|
|
|
|
|
|
|
для: cheops
(22.09.2006 в 12:14)
| | да но если использовать htmlspecialchars() перед выводом тогда теряется смысл использования Визуально редактора так как функция все тэги преобразует в ASCII
если можно расскажите какие Теги и как может произойти ввод эксплоита и может кто подскажет рег.выражения для нахождение и удаления эксплоита при вводе | |
|
|
|
|
|
|
|
для: Ressfourt
(21.09.2006 в 22:25)
| | >весь текст который вводят пользователи идет через визуальный редактор FCKeditor после я его
>перевожу в формат ASCII ну и естественно заношу в БД а оттуда вывожу
Непосредственно перед выводом следует использовать htmlspecialchars(). | |
|
|
|
|
|
|
|
для: indexer
(21.09.2006 в 22:30)
| | strip_tags - довольно глючная штука. Я бы не рекомендовал ее использовать без особой на то необходимости:
<?
$test="А все потому что 2<3 вот так!";
echo strip_tags($test); // выведет "А все потому что 2"
?>
|
| |
|
|
|
|
|
|
|
для: Ressfourt
(21.09.2006 в 22:32)
| | Хм WYSIWYG ов много понаписано ну а как пользователь будет постить если у него например OPERA7.00 или 7.5 JavaScript WYSIWYGа она не сможет поддержать, что уж там говорить о комуникаторах и мобилах. И что в таких случаях выводить? Извините вы не можете? А некоторые специально отключают java, Flash всплывающие окна (у меня например даже картинки отключены)
И подключить его бывает достаточно сложно например в шаблонизатор SMARTY придется практически весь код либо подключать отдельным файлом либо переписывать под теги smarty.
Так что использование его окутано мраком и не всегда себя оправдывает, это лично мое мнение.
уж лучше я пока по старинке BBкодом. Потому как универсально. | |
|
|
|
|
|
|
|
для: indexer
(21.09.2006 в 22:30)
| | Многим уже настолько надоели эти ББ коды уххх... поэтому я и ввел Виз. Редактор ... доволно просто и удобно и народ будет доволен
правда есть одно но при выводе из базы данных на сайт я использую функцию html_entity_decode для отображения | |
|
|
|
|
|
|
|
для: Ressfourt
(21.09.2006 в 22:25)
| | Хм. а еще можно вырезать все теги функцией strip_tags и заставить пользоватся BBCod ом
и еще удалять некоторые опасные символы кавычки например что бы sql injection не смог пролезть, и при записи в базу использовать функцию mysql_escape_string
от sql injection лучше юзать placeholder-ы
НЕ ТАК
sql=("SELECT * FROM tadle WHERE a='$a' AND b='$b'");//код изначально дырявый
а вот так
sql=('SELECT * FROM table WHERE a=? AND b=?', $a, $b);//вопросы это и есть placeholder
защита организована на уровне базы | |
|
|
|
|
|
|
|
для: cheops
(21.09.2006 в 21:54)
| | весь текст который вводят пользователи идет через визуальный редактор FCKeditor после я его перевожу в формат ASCII ну и естественно заношу в БД а оттуда вывожу | |
|
|
|
|
|
|
|
для: Ressfourt
(21.09.2006 в 21:50)
| | Нет, если пользователь сам себя редиректит куда-то - ничего страшного, страшно, когда текст с XSS-вставкой выводится на всеобщее обозрение. Чтобы предотвратить выполнение XSS-атаки, достаточно весь текст, который выводится из базы данных, файлов и которые вводят посетители перед выводом на страницы сайта пропускать через функцию htmlspecialchars().
<?php
echo htmlspecialchars($text);
?>
|
| |
|
|
|
|