|
|
|
| Есть такая строка, смотрящая за тем, чтоб не вводили ненужные символы в текст письма ( Только русский великий :)
$patern = "|^[ а-я,А-Я,0-9,.,_,-,-]+$|i";
|
А как тут разрешить обычные кавычки? | |
|
|
|
|
|
|
|
для: Sasha
(13.07.2005 в 22:33)
| |
<?php
$patern = "|^[ а-я,А-Я,0-9,.,_,-,-\"]+$|i";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(14.07.2005 в 02:37)
| | Что не работает :((
Если в форме слово в кавычках, текст не отправляется. | |
|
|
|
|
|
|
|
для: Sasha
(14.07.2005 в 23:35)
| | Хм... странно - приведите пожалуйста кусок кода, где происходит проверка. | |
|
|
|
|
|
|
|
для: cheops
(15.07.2005 в 00:24)
| |
// проверка
$patern = "|^[ а-я,А-Я,0-9,.,_,-,-\"]+$|i";
if(!preg_match($patern, $name)) exit("В названии использованы символы отличные от букв русского алфавита<br>Вернитесь назад и исправьте ошибку.");
.
.
.
$patern = "|^[ a-z,A-Z,@,_,-,-,0-9,/,:,.]+$|i";
if(!preg_match($patern, $data)) exit("В e-mail использованы недопустимые символы<br>Вернитесь назад и исправьте ошибку.");
// составляем письмо
$message = "
.
.
|
| |
|
|
|
|
|
|
|
для: Sasha
(15.07.2005 в 00:50)
| | Хм... странно, а у меня нормально срабатывает следующий скрипт
<?php
$name = '"Программирование"';
$patern = "|^[ а-я,А-Я,0-9,.,_,-,-\"]+$|i";
if(!preg_match($patern, $name)) exit("В названии использованы символы отличные от букв русского алфавита<br>Вернитесь назад и исправьте ошибку.");
else echo "Всё нормально";
?>
|
Попробуйте вывести значение переменной $name в окно браузера - что в ней? | |
|
|
|
|
|
|
|
для: cheops
(15.07.2005 в 02:45)
| | Извините за тупой вопрос: А как её вывести ? ;(
Вот частично код формы
<form action="mail.php" method="POST" name="new">
Название:<br><INPUT class=input name="name" size="50" maxlength="40" alt="Название ">
<p class="p2">не более 40 символов</p>
URL :<br><INPUT class=input name="url" size="60" alt="Адрес в интернет">
<p class="p2">Адрес в интернет</p>
Аннотация:<br><textarea name="pass" rows="4" cols="50"></textarea>
<p class="p2">нннннннннннн </p>
<input type="submit" value="Отправить" name="submit" >
|
И обработчик
<?php
// указываем аддрес и тему письма.
$to = "sashka@alpkrim.kiev.ua";
$subject = "Новая анкета";
// проверка
$patern = "|^[ а-я,А-Я,0-9,.,_,-,-\"]+$|i";
if(!preg_match($patern, $name)) exit("В названии фирмы использованы символы отличные от букв русского алфавита<br>Вернитесь назад и исправьте ошибку.");
if(!preg_match($patern, $pass)) exit("В аннотации использованы символы отличные от букв русского алфавита<br>Вернитесь назад и исправьте ошибку.");
$patern = "|^[ a-z,A-Z,@,_,-,-,0-9,/,:,.]+$|i";
if(!preg_match($patern, $url)) exit("В URL использованы недопустимые символы<br>Вернитесь назад и исправьте ошибку.");
// составляем письмо
$message = "
<html>
<head>
<title>$subject</title>
</head>
.
.
.
// отправляем письмо
$headers = "Content-type: text/html; charset=windows-1251 \r\n";
mail($to, $subject, $message, $headers);
|
| |
|
|
|
|
|
|
|
для: Sasha
(15.07.2005 в 11:18)
| |
<?php
// указываем аддрес и тему письма.
$to = "sashka@alpkrim.kiev.ua";
$subject = "Новая анкета";
// Выводим $name
echo $name;
// проверка
$patern = "|^[ а-я,А-Я,0-9,.,_,-,-\"]+$|i";
if(!preg_match($patern, $name)) exit("В названии фирмы использованы символы отличные от букв русского алфавита<br>Вернитесь назад и исправьте ошибку.");
if(!preg_match($patern, $pass)) exit("В аннотации использованы символы отличные от букв русского алфавита<br>Вернитесь назад и исправьте ошибку.");
$patern = "|^[ a-z,A-Z,@,_,-,-,0-9,/,:,.]+$|i";
if(!preg_match($patern, $url)) exit("В URL использованы недопустимые символы<br>Вернитесь назад и исправьте ошибку.");
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(15.07.2005 в 12:34)
| | К сожалению ничего не изменилось :((
Только теперь ( Если например вводить Телекомпания "Бриз" )то выводиться
Телекомпания \"Бриз\"В названии фирмы использованы символы отличные от букв русского алфавита
Вернитесь назад и исправьте ошибку.
|
| |
|
|
|
|
|
|
|
для: Sasha
(15.07.2005 в 12:51)
| | Прогоните содержимое переменной $name через stripslashes()
<?php
// указываем аддрес и тему письма.
$to = "sashka@alpkrim.kiev.ua";
$subject = "Новая анкета";
// проверка
$patern = "|^[ а-я,А-Я,0-9,.,_,-,-\"]+$|i";
if(!preg_match($patern, stripslashes($name))) exit("В названии фирмы использованы символы отличные от букв русского алфавита<br>Вернитесь назад и исправьте ошибку.");
if(!preg_match($patern, $pass)) exit("В аннотации использованы символы отличные от букв русского алфавита<br>Вернитесь назад и исправьте ошибку.");
$patern = "|^[ a-z,A-Z,@,_,-,-,0-9,/,:,.]+$|i";
if(!preg_match($patern, $url)) exit("В URL использованы недопустимые символы<br>Вернитесь назад и исправьте ошибку.");
?>
|
Что-нибудь изменилось? | |
|
|
|
|
|
|
|
для: cheops
(15.07.2005 в 13:12)
| | Всё стало на свои места! Пасибо!!!
хотя перед кавычками \ маячит :) | |
|
|
|
|
|
|
|
для: Sasha
(15.07.2005 в 16:34)
| | Хм. А используя эти символы, можно сделать какуюто гадость?
Немножко не в тему :
А вообще тяжко в сообщении подделать адрес отправителя? | |
|
|
|
|
|
|
|
для: sasha
(20.07.2005 в 19:56)
| | >Хм. А используя эти символы, можно сделать какуюто гадость?
Сейчас практически все хостинги работают либо в защищённом режиме, либо отключают функции позволяющие наносить вред... т.е. вероятность достаточно мала.
>Немножко не в тему :
>А вообще тяжко в сообщении подделать адрес отправителя?
Не очень понятно что имеется ввиду: почта, Web или что-то другое? | |
|
|
|
|
|
|
|
для: cheops
(20.07.2005 в 20:04)
| | имеется в виду почта.
приходят письма с вирусом с адреса почтового ящика, который по идее находиться на моем хосте, но я его не создавал...
хотя может это ящик хостера.... | |
|
|
|
|
|
|
|
для: Sasha
(20.07.2005 в 20:19)
| | Так как используемые сейчас протоколы создавались в 70-е годы, когда не стояли проблемы спама, вирусов и хакеров, в почте подделывается всё что только можно - самые шикарные вирусы приходят мне якобы с моего же адреса, даже DrWeb давится от такой наглости... Адреса отправления у современных вирусов и спама - всегда поддельные, чтобы эпидемию нельзя было прекратить излечением нескольких хостов. Поэтому, если в письме указан ваш хост, вирус точно отправлен не от вас, иначе бы он обязательно выбрал бы другой хост в адресе отправителя, чтобы замести следы и чтобы вам не могли написать письмо, что у вас машина заражена. | |
|
|
|
|
|
|
|
для: cheops
(20.07.2005 в 20:44)
| | Спасибо!
Очень интересно, вот оно как !!!!
достают только...по 3и штуки в день приходят :))
надеюсь это когдато кончиться :) | |
|
|
|
|
|
|
|
для: Sasha
(20.07.2005 в 23:45)
| | Всего по 3!? Радуйтесь – это очень мало :) | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(22.07.2005 в 07:20)
| | А по 1000 шт. за субботу и воскресенье (получение в понедельник) ?
Три это мечты. Если не хочешь спам зайди на рамблер-почту. За неделю максимум одно. Наверняка фильтр спама. | |
|
|
|