Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Безопасность вывода чужого текста на сервере
 
 автор: blackcement   (01.11.2010 в 13:41)   письмо автору
 
 

Здравствуйте. Я на своём сайте сделал чат. Чтобы юЗвери не кидали мне скриптов на сервер, я попытался их обезвредить сразу же при добавлении таким образом:


<?php
$text
=$_POST['text'];
$text=str_replace ('<''&lt;'$text);
$text=str_replace ('>''&gt;'$text);
$text=str_replace ('"''&quot;'$text);
?>


Подскажите пожалуйста, может упустил чего?

  Ответить  
 
 автор: Киналь   (01.11.2010 в 13:50)   письмо автору
 
   для: blackcement   (01.11.2010 в 13:41)
 

Посмотрите документацию по этим функциям: htmlspecialchars(), addslashes(), get_magic_quotes_gpc(), wordwrap().

  Ответить  
 
 автор: blackcement   (01.11.2010 в 14:22)   письмо автору
 
   для: Киналь   (01.11.2010 в 13:50)
 

Спасибо, функция htmlspecialchars() мне идеально подходит.

  Ответить  
 
 автор: captain-america   (01.11.2010 в 16:52)   письмо автору
 
   для: Киналь   (01.11.2010 в 13:50)
 

Имейте ввиду, что ваще праобразование делает из одноэлементных "<",">" многоэлементные символы "&lt" и т.д
Я столкнулся с такой проблемой у себя, когда мне надо было делать перенос строк с помощью <wbr> , то есть у меня <wbr> влезала в серединку &lt и получалась белиберда(пришлось обрабатывать текст при показе). Один из минусов вашего преобразования)

  Ответить  
 
 автор: neadekvat   (01.11.2010 в 17:59)   письмо автору
 
   для: captain-america   (01.11.2010 в 16:52)
 

Храните в базе текст с \n а не с <br>, делов то.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования