Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка на запрещенные символы, Проверка на запрещенные символы 
:(
    Опции темы
MrVisor
  Дата 25.7.2006, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 11.6.2006
Где: Беларусь, Баранов ичи

Репутация: нет
Всего: нет



Люди, помогите. Не могу написать скрипт для гостевой книги суть коего заключается в проверке на запрещённые символы (проверка введённой информации (тег textarea), нажождение запрещённых символов (в моём случае "<" и ">"), а также их удаление). smile  
PM MAIL WWW Skype Jabber   Вверх
Vaulter
Дата 25.7.2006, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 1
Всего: 22



MrVisor, 
striptags 


--------------------
PM MAIL WWW ICQ   Вверх
skyboy
Дата 25.7.2006, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 8
Всего: 260



Vaulter, оно ж теги повыкидывает!  smile А надо только "<" и ">"  smile 
MrVisor, ты уверен, что стОит удалять "уголки", но оставлять теги? Впрочем, тегов там всё равно быть не должно, если не будут всякие "терминаторы" лезть... Можно - регулярными выражениями. Типа такого
Код

$data_to_save= preg_replace('/<>/','','содержимое_текстареа');
 
PM MAIL   Вверх
Drache
Дата 25.7.2006, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 31.3.2006

Репутация: нет
Всего: 3



зачем же здесь сразу рег выражения?
можно проще:
Код

$str = str_replace(array('<', '>'), '', $str);


другой вопрос это ли нужно? Может лучше просто юзать htmlspecialchars() ? 

Это сообщение отредактировал(а) Drache - 25.7.2006, 15:59
PM MAIL   Вверх
Gold Dragon
Дата 26.7.2006, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



вот как у меня

для имени (ника, названия и ещё чего)
Код

$info['user_nik'] = (isset($_POST['user_nik'])) ? strip_tags(trim($_POST['user_nik'])) : 'Кто-то';

т.е. проверяем на наличие. Если есть - обрезаем пробелы в начале и в конце, вырезаем теги. Если нет, то ставим по умолчанию.

для комментария
Код

$info['user_com'] = str_replace(array("\r\n", "\r", "\n"),"<br>", strip_tags(trim($_POST['user_com'])));
if (strlen($info['user_com'])>1000){
    $info['user_com'] = substr($info['user_com'],0,1000);
}

т.е. обрезаем пробелы в начале и в конце, вырезаем теги, заменяем завершение строки на HTML`ский <br>. Затем если сообщение больше 1000 знаков, то лишнее обрезаю. А то мне могут закачать "Войну и Мир"  smile 

для мыла
Код

$info['user_mail'] = (preg_match('/[0-9A-Za-z._-]+@([0-9a-z_-]+\.)+[a-z]{2,4}/', $_POST['user_mail'])==0)? '' : $_POST['user_mail'] ;

здесь проверка на правильность мыла. Если оно не соответсвует правилам, то мыло не сохраняется.

Больше наверное для гостевой ничего и не нужно. Это всё адаптировано для меня, т.ч. для себя сам подредактируешь как надо 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
MrVisor
  Дата 26.7.2006, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 11.6.2006
Где: Беларусь, Баранов ичи

Репутация: нет
Всего: нет



Спасибо всем за помощь!!! smile Очень помогли!  smile Только для начала я хотел бы вам пояснить почему мне нужно блокировать символы "<" и ">". А всё очень просто. После написания моим другом гостевой книги на PHP оказалось, что гост. книжка поддерживает интерпритацию HTML-тэгов (хотя кто бы сомневался). Но если в форме сообщения какой нибудь умник напишет JavaScript-ик на подобие этого:
Код

 <script language="JavaScript"> 
   alert ("На Вашем компьютере обнаружен вирус ВИННИ.ПУХ.Win.32. Срочно удалите папку C:\WINDOWS\system32 !!!");
 </script>

И, если какой-нибудь глупенький юзер заглянет в гостевуху, скрипт исполнится, выведет сообщение и возможно данный юзер с мыслью "Ща я его оттуда..." удалит папку. Последствия будут ужасающими. Хотя есть скрипты и пострашнее (например скрипт форматирующий винт. Да, да, есть такой, сам видел  smile ). А так, с блокировкой нужных символов скрипты и прочие тэги будут восприниматься как обычный текст, а мерзавец будет выслежен и *****. Вот такие вот дела.
Ещё раз спасибо всем!!!  smile  smile  smile  
PM MAIL WWW Skype Jabber   Вверх
BobiKK
Дата 26.7.2006, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: нет
Всего: 16



Цитата(MrVisor @  26.7.2006,  22:27 Найти цитируемый пост)
компьютере обнаружен вирус ВИННИ.ПУХ.Win.32. Срочно удалите папку C:\WINDOWS\system32 !!!");

Напомнило анекдот про албанский вирус smile 
PM MAIL   Вверх
MrVisor
  Дата 27.7.2006, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 11.6.2006
Где: Беларусь, Баранов ичи

Репутация: нет
Всего: нет



Да, BobiKK, это так. Однако, то, что я привёл в пример называется вирусной мистификацией и ранее принесло не мало вреда. 
PM MAIL WWW Skype Jabber   Вверх
Alex13
Дата 28.7.2006, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 30.12.2005
Где: Новосибирск

Репутация: нет
Всего: 1



MrVisor, имхо, в твоем отнюдь не уникальном случае идеалом будет htmlspecialchars(). Сам ее юзал, когда писал себе CMS - и был доволен. 


--------------------
Самая страшная ошибка - это ошибка, не имеющая явных причин и конкретных последствий.
Антисоциальный блог.
PM WWW ICQ Jabber   Вверх
MrVisor
  Дата 31.7.2006, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 11.6.2006
Где: Беларусь, Баранов ичи

Репутация: нет
Всего: нет



Alex13, ну в этом потребность отпала. Я нашёл и закачал уже готовую гостевуху, где это всё уже включено. smile  
PM MAIL WWW Skype Jabber   Вверх
smartov
Дата 31.7.2006, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 4
Всего: 259



Цитата(MrVisor @  26.7.2006,  21:27 Найти цитируемый пост)
например скрипт форматирующий винт. Да, да, есть такой, сам видел

Вирусная мистификация зацепила и тебя smile Хочу себе представить как js форматит винт %) Не получается  smile  
PM MAIL   Вверх
cyberface
Дата 1.8.2006, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 6.6.2006

Репутация: нет
Всего: 5



Код

$info['user_com'] = str_replace(array("\r\n", "\r", "\n"),"<br>", strip_tags(trim($_POST['user_com'])));

me плакаль. Может лучше сделаешь так:
Код

$info['user_com'] = nl2br(strip_tags(trim($_POST['user_com'])));

PM MAIL   Вверх
Alex13
Дата 2.8.2006, 06:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 30.12.2005
Где: Новосибирск

Репутация: нет
Всего: 1



[offtop]smartov, с помощью ActiveX вполне возможно такое сделать[/offtop]


--------------------
Самая страшная ошибка - это ошибка, не имеющая явных причин и конкретных последствий.
Антисоциальный блог.
PM WWW ICQ Jabber   Вверх
Gold Dragon
Дата 2.8.2006, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



cyberface, может и лучше, но просто в моём коде ещё естьнесколько символов для разбития стороки и они не теги

Я же просто со своего кода содрал  smile 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0660 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.