Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Проверка кода на ПХП для отправки почты...

Ответить
Настройки темы
Проверка кода на ПХП для отправки почты...

Аватара для ran71me3rr0r

Пользователь


Сообщения: 66
Благодарности: 0

Профиль | Отправить PM | Цитировать


ВрЕмЕчКо ДоБрЕньКоЕ п0лЬ3оВаtелям сего замечательного ресурса!
Прошу знающих ПХП дать совет/рекомендацию.
Вот ниже дан код, сделанный под заказ.
Есть несколько моментов которые
мне чайникуПХП здесь завуалированы.

1. Соответсвует ли код - безопастности,
"....слышал что метод POST легко
поддаётся деструктивному коду, в
смысле конструция этого метода + пару
тройку команд", так ли это? (если не
правильно пояснил, заранее приношу
извинения, пересмотрю при акценте на
этот пункт)

2. Почему то нет пути для сендМаила?
Но тем не менее скрипт рабоает
Интересно

Цитата:
задаю все эти вопросы здесь, а не девелоперу, т.к. руководство потеряло
контакт с ним


Вот исходник на PHP, вообще буду признателен за аналитику по коду:
)

Код: Выделить весь код
<body bgcolor="#cc9966" text="#999999" link="#FFFFFF" vlink="#FFFF00" alink="#CCCCCC"> 
<? 
print" 
<FORM method=\"POST\" action=\"send.php?varx=send\"> 
 
<P>Ваше Имя:<br> 
<INPUT type=\"text\" name=\"Name\" size=30> 
</p> 
 
<P>Ваш e-mail:<br> 
<INPUT type=\"text\" name=\"Email\" size=30> 
</p> 
 
<P>Сообщение:<br> 
<textarea name=\"Message\" cols=30 rows=5></textarea> 
</p> 
 
<INPUT type=\"submit\" value=\"Отправить\"> 
 
</FORM>"; 
 
switch($varx) : 
default : 
print "<table width= cellpadding=0 cellspacing=0 border=0 align=center>"; 
 
break; 
case("send") : 
 
if ($Email == "") {print "<script language=JavaScript>window.alert('Введите e-mail!');</script>"; exit;} 
if ($Message == "") {print "<script language=JavaScript>window.alert('Введите текст!');</script>"; exit;} 
if (!eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $Email) and $Email != "") {print "<script language=JavaScript>window.alert('Не правельный E-mail');</script>"; exit;} 
$er = 1; 
 
 *$ip = $REMOTE_ADDR; 
 *$date = date("d.m.Y"); 
 
 *$info = "Name:\t$Name\n"; 
 *$info .= "E-Mail:\t$Email\n"; 
 *$info .= "Message:\t$Message\n\n"; 
 * 
 *$send_to = "test@test.ru"; * * * * * * 
 *$subject = "Сообщение $date"; * * * * * 
 * 
 *$headers = "From: Ip адрес: $ip: \n"; 
 *$headers .= "Reply-To: $email\n\n"; 
 * 
 *$send = mail($send_to, $subject, $info, $headers); 
 *if($send == 1) 
 *{ 
 * 
 *print ("<script language=JavaScript>window.alert('Отправлено $date');</script>"); 
 
 *} 
 *else 
 * 
 *print ("<script language=JavaScript>window.alert('Ошибка');</script>"); 
 
break; 
endswitch; 
print "<center><p><font size=\"1\" color=\"#7D7D7D\"></font></p><center>"; 
?>
[s]Исправлено: ran71me3rr0r, 9:51 29-06-2004[/s]


[s]Исправлено: ran71me3rr0r, 9:53 29-06-2004[/s]


[s]Исправлено: ran71me3rr0r, 9:55 29-06-2004[/s]

Отправлено: 09:49, 29-06-2004

 

Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


1) Можно генерировать POST запросы бочками, тут уж фильтрация и только фильтрация.
2) А скрипту (по крайней мере PHP скрипту) о пути к sendmail'у знать и не надо, на это есть знания у модуля или cgi реализации самого интерпритатора.

Много странностей... к примеру? Извольте:
1) Последний print в коде.
2) Если varx != send, то выводится заголовок таблицы и все...
3) Судя по коду юзабилити никакого нет. Кому приятно, что после отправки формы будут выдавать сообщения с диагностическими сообщениями? Причем жавой...
4) Сама отправка письма - простейшая.
5) \n\n тоже странно выглядит, я больше к \r\n привык
6) Нефильтрованные данные позволят мне добавить в переменную $headers такие поля как Bcc и Cc, что позволит использовать скрипт как точку рассылки спама по нужным адресам.
7) Даже без п. 6 можно воспользоваться скриптом как мейл-бомбером - зафлудить мыльницу test@test.ru

В общем, скрипт писАлся новичком...

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 13:40, 29-06-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


ran71me3rr0r
и это весь скрипт???
а где окончание таблицы файла???

честно говоря то что использован eregi а на preg_match не очень хорошо, т.к. это не очень распространенный тип регулярных выражений, к тому же он отрубает часть разрешенных мыл!

например - АДРЕй[AT]vz.net
между прочим это разрешенное мыло!
и мыло на такие адреса ходят, я сам проверял!

Prisoner
там есть страшный регексп который проверяет мыло на валидность он ничего не нужного не пропустит!

ran71me3rr0r
в коне не определена переменная $ip, возможно на локалхосте у программиста она и определена, но я на 99% уверен, что у твоего хостера другие настройки!

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 19:34, 29-06-2004 | #3


Аватара для ran71me3rr0r

Пользователь


Сообщения: 66
Благодарности: 0

Профиль | Отправить PM | Цитировать


Vlad Drakula, Prisoner
большое спасибо за своевременные и существенные ответы. Мне как чайникуПХП одно только понятно, из всех вышеперечисленных "магических слов, заклинаний", что данный скрипт вы бы не советовали устанавливать на инетПредставительсве фирмы.

Отправлено: 09:20, 30-06-2004 | #4


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


ran71me3rr0r
ты все правильно подметил!

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 18:44, 30-06-2004 | #5


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Vlad Drakula
Мда, ты прав. Буказоид в конце паттерна не заметил :\
ran71me3rr0r
Мягко сказано - не советовал бы . Ибо основательно надо подходить к таким вещам...

Добавлено:

Vlad Drakula, уже третий топик я открываю - твоего поста нет, отправляю ответ - твой пост перед моим

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 18:52, 30-06-2004 | #6



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Проверка кода на ПХП для отправки почты...

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Запрет отправки сообщений со старой почты. zubkoff.s Microsoft Windows NT/2000/2003 11 20-01-2010 03:04
скрипт отправки почты stolyar Вебмастеру 10 04-01-2010 18:23
V. 5.5/2000/2003 - SMTP Ограничение отправки почты. illznn Microsoft Exchange Server 16 06-11-2009 18:04
Программа для отправки СМС. voler Автоматическая установка приложений 3 21-10-2007 23:32




 
Переход