RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 280
от 12.03.2006, 00:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 231, Экспертов: 33
В номере:Вопросов: 3, Ответов: 4


Вопрос № 36852: Приветствую всех! Нужна срочно консультация программистов PHP... Вопрос в том, что на одном из моих сайтов есть простенькая почтовая форма обратной связи на основе PHP-скрипта. Последнее время было пару случаев, что некто настойчиво вводит в поля фо...
Вопрос № 36853: Здравствуйте эксперты! хочу отправить почту с сайта используя удалённый smtp сервер тоесть стандартной функцией mail() здесь не обойтись , можно ли это вообще сделать с помощью php или нет ? сейчас пытаюсь наладить соединение с smtp сервером...
Вопрос № 36896: Здравствуйте! Как провернуть следующее:Хранение и закачка мелодий. Файл мелодии закачиваются при добавлении мелодии: стандартная кнопка Обзор в WINDOWS. Ограничения на расширения и размер файла нет. Все мелодии хранятся в папке на сервере files/m...

Вопрос № 36.852
Приветствую всех! Нужна срочно консультация программистов PHP... Вопрос в том, что на одном из моих сайтов есть простенькая почтовая форма обратной связи на основе PHP-скрипта. Последнее время было пару случаев, что некто настойчиво вводит в поля формы что-то типа имейла, но с моим доменом. Т.е., скажем, мой домен server.org а почтовый ящик admin@server.org. В поля почтовой формы вводятся e-mail адреса типа 2888@server.org, 2788@server.org и т.д. Является ли это попыткой взлома, подбора пароля или еще чего ли подобного?
Как защититься от подобной напасти и каковы вообще методы защиты скриптов - обрабочиков форм?
Буду весьма признателен всем ответившим, а также благодарен за ссылки на эту тему в инете...
Отправлен: 06.03.2006, 04:03
Вопрос задал: Андрей Агарков (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ерёмин Андрей
Здравствуйте, Андрей Агарков!
Нужно обрабатывать данные, введённые в форму и, если они ошибочны, выдавать предупреждение, а письмо не высылать. Конкретно - вот пример проверки введённого e-mail адреса:
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)) { print "Вы ввели некорректный E-mail адрес."; }
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Отправлен: 06.03.2006, 07:38

Отвечает: wils0n
Здравствуйте, Андрей Агарков!
Дополнение к предыдущему автору. Если подобные попытки происходят массивно, то наверняка их отсылает другой скрипт. Существует на этот случай защита в виде генерации картинки со случайным кодом и сложным фоном. Так чтобы скрипт не смог распознать, а человек смог бы. Для отправки сообщения таким образом, необходимо будет ввести этот самый код.
Это можно реализовать самому или поискать в гугле. Там этой информации достаточно, даже готовые скрпты есть.
---------
Life is like a box with chocolate. You never know what you're gonna get. (c) Forrest Gump's mom
Ответ отправил: wils0n (статус: 3-ий класс)
Отправлен: 06.03.2006, 10:03


Вопрос № 36.853
Здравствуйте эксперты!
хочу отправить почту с сайта используя удалённый smtp сервер тоесть стандартной функцией mail() здесь не обойтись , можно ли это вообще сделать с помощью php или нет ?
сейчас пытаюсь наладить соединение с smtp сервером по протоколу imap но на этом и заглох, вроде в коде всё правильно , а соединение не происходит - в чём ошибка или это просто не реально ? http://www.mail.ru/pages/help/337.html

Приложение:

Отправлен: 06.03.2006, 04:17
Вопрос задал: Cimus (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: wils0n
Здравствуйте, Cimus!
Про использование удалённого SMTP-сервера читайте здесь:
http://phpmailer.sourceforge.net/docs/
http://phpmailer.sourceforge.net/

По поводу Вашего кода. Прочитайте внимательно информацию по Вами же приведённой ссылке. Есть глобальное различие между IMAP и SMTP. Первое нужно для получения и удаления писем, а второе для отправки писем. Порт 2525 в данном случае принадлежит SMTP, а Вы пытаетесь зайти на него как на IMAP. Так нельзя.
---------
Life is like a box with chocolate. You never know what you're gonna get. (c) Forrest Gump's mom
Ответ отправил: wils0n (статус: 3-ий класс)
Отправлен: 06.03.2006, 09:53
Оценка за ответ: 5
Комментарий оценки:
Спасибо ! Буду пробовать дальше , только уже ближе к цели!


Вопрос № 36.896
Здравствуйте!
Как провернуть следующее:Хранение и закачка мелодий. Файл мелодии закачиваются при добавлении мелодии: стандартная кнопка Обзор в WINDOWS. Ограничения на расширения и размер файла нет. Все мелодии хранятся в папке на сервере files/melody. При добавлении мелодии выбирается категория с названием первой буквы песни и создаётся папка. Пример: требуется добавить песню Aventura-Obsession. Выбериается категория “A” файл сохраняется в директории корень сайта/files/melody/a/.
Отправлен: 06.03.2006, 17:26
Вопрос задал: Sassoft (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Stamm
Здравствуйте, Sassoft!
Здесь все очень просто сделать, если конечно знать))))))))
Значит так, делаем в HTML форму отправки файла.
Далее уже пишем php-код:
Сначала проверяем нажата ли была кнопка, затем уже работаем с файлом. Делаем ссылку на файл($data), узнаем временный путь($tmp) и его имя($name). Если файл успешно закачен во временную папку, то создаем папку, имя которой первый символ имени файла($name[0]), с максимальными правами. Далее просто пермещаем файл из временной папки в необходимую.
Вот сообственно и всё.
Конечно, же нужно проверять расширение файла: сделать массив из всех допустимых расширений и проверять файл на соответствие этим расширениям.
В PHP также есть функции с работой над mp3 файлами(По-моему,id3_get_tag()).
Так что есть еще предел творчеству над данным скриптом.

Приложение:

---------
В день - один, ну два подвига, не больше...

Ответ отправил: Stamm (статус: Студент)
Отправлен: 06.03.2006, 19:41


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.18 от 09.03.2006
Яндекс Rambler's Top100

В избранное