|
|
|
|
|
для: neadekvat
(11.04.2010 в 21:43)
| | >Да и вообще, я бы лучше сделал список допустимых html тегов. А еще надо проверять, чтобы
>они были закрыты - не так сложно будет написать такой html код, который развалит вашу
>верстку к чертям
Я про это говорил уже.
>
>P.S. регулярка у вас неверная хотя бы потому, что там указаны начало и конец строки - не
>думаю, что весь текст будет состоять из <script
Я в регулярках до сих пор так и не разобрался окончательно наверное до и после нужно поставить любое количество любых символов :))) | |
|
|
|
|
|
|
|
для: tvv123456
(11.04.2010 в 19:15)
| | Да, только я не просек тот момент, когда этот самый html-код захотели от пользователя брать.
Если автор собрался получать прямой текст HTML-кода из формы и направлять этот HTML-код в браузер именно как HTML-код, то он, конечно, самый что ни на есть героический геройский герой, и маловероятно, что его защитят хоть какие-нибудь регулярки. А плевков в карму на тему того, что в его движке нужный текст не набрать, он огребет от посетителей более чем знатно. Особенно, если портал технической направленности. | |
|
|
|
|
|
|
|
для: tvv123456
(11.04.2010 в 20:05)
| | Если уж такое делать, то можно и без регулярок - strpos() или strstr() да и все =)
Только если это будет выводиться другим пользователям - не забудьте про такие тэги как iframe и подобное, что найдете..
Да и вообще, я бы лучше сделал список допустимых html тегов. А еще надо проверять, чтобы они были закрыты - не так сложно будет написать такой html код, который развалит вашу верстку к чертям
P.S. регулярка у вас неверная хотя бы потому, что там указаны начало и конец строки - не думаю, что весь текст будет состоять из <script
К тому же, вы используете класс (квадратные скобки, по-моему, так называется), так что удовлетворять вашей регулярке будет строка состоящая из одного символа из этого класса | |
|
|
|
|
|
|
|
для: Bvz
(11.04.2010 в 19:18)
| | НУ раз я все правильно понял то проверяйте присутствует ли <script и выводите просьбу убрать весь яваскрипт.
Сделать можно примерно так:
<?
if(preg_match ("|^[<script ]$|", $a)) //регулярка тут не правильно составлена наверняка
{
echo "Уберите весь яваскрипт из вашего текста";
echo // тут выводим форму сохранив введеные пользователем данные
}
|
или как вариант чтобы не исполнялся яваскрипт ищем, регуляркой где начинаеться яваскрипт, но отображался на странице и заменяем <> в нем на спецсимволы, правда как-то некрасиво получаеться?
Я в регулярных выражениях сам еще не разобрался, так что это лишь сырая идея, переработайте как нужно вам и потом еще и мне расскажите :)
Как понимаете эту операцию нужно делать до заноса данных в базу. | |
|
|
|
|
|
|
|
для: tvv123456
(11.04.2010 в 19:15)
| | ну да | |
|
|
|
|
|
|
|
для: Trianon
(11.04.2010 в 18:35)
| | ну дак тут он и не исполняеться а выводиться как есть. А как я понял автору темы нужно чтобы html код исполнялся браузером, но в тоже время чтобы не исполнялся яваскрипт. | |
|
|
|
|
|
|
|
для: Trianon
(11.04.2010 в 18:35)
| | а как фильтровать? | |
|
|
|
|
|
|
|
для: tvv123456
(11.04.2010 в 17:39)
| | вот тут рядышком есть раздел по HTML, Джаваскрипту и CSS.
Скажите, пожалуйста, Если бы на этом форуме была установлена регулярка, которую Вы замыслили, смог хотя бы кто-нибудь что-нибудь в том разделе не только написать, но и проиллюстрировать примером?! Там ведь каждый второй пост с джаваскриптом?
Когда же, наконец, тут перестанут давать советы за пределами собственной компетентности... | |
|
|
|
|
|
|
|
для: Bvz
(11.04.2010 в 16:11)
| | >а как фильтровать яваскрипт?
регулярку составте | |
|
|
|
|
|
|
|
для: Bvz
(11.04.2010 в 15:50)
| | Если Вы не будете выводить вредноносный код в поток html - его там не будет.
Но панацеи от этого нет. | |
|
|
|
|