Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программируем на PHP - вопросы и ответы. Вопросы защиты скрипта почтовой формы


Вопросы защиты скрипта почтовой формы

Здравствуйте, php любители и профессионалы!

Сегодня в выпуске.

0.    Приветствие

1.    Статистика php форума «уже 163 сообщения…»

2.    Подробный ответ на php вопрос. Избранное «Вставить картинку в MySql как?»

3.    Список php вопросов для наших экспертов. «1 защитный вопрос»

4.    Вопрос номера «Вопросы защиты скрипта почтовой формы»

5.    Наши модераторы: Seadog, NickGray, Magir (ПРИСОЕДИНИСЬ к команде php форума)

6.    P.S.

Приветствие

Вас приветствует очередной выпуск рассылки «Программирование на php в вопросах и ответах».

Сегодня у нас очень интересные php тонкости.

Если у вас возникают вопросы по поводу вашей php деятельности, смело задавайте их на нашем php форуме и получайте нужные ответы

Статистика php форума

 

 Кто сейчас на форуме

 

Наши пользователи оставили сообщений: 163
Всего зарегистрированных пользователей: 66
Последний зарегистрированный пользователь: Лёшка

Сейчас посетителей на форуме: 5, из них зарегистрированных: 3, скрытых: 0 и гостей: 2   [ Администратор ]   [ Модератор ]
Больше всего посетителей (13) здесь было 23 Сен 2007 03:21 am
Зарегистрированные пользователи: MMS, phper, Seadog

 

 

PHP. Распространённые вопросы и ответы

 

 

Подробный ответ на php вопрос. Избранное

Вставить картинку в MySql как?

 

Подскажите как вставить с помощью РНР в html-страничку картинку gif или jpg сохраненную в базе MySQL. С помощью include/require не получается из-за header. Гюнтер

 

Отвечает наш модератор Seadog

 

Я для записи картинки в MySQL использую base64_encode:
<?php
$filename = $_FILES['scan']['tmp_name'];
$handle = fopen($filename, "r");
$contents = fread($handle, $_FILES['scan']['size']);
fclose($handle);
$Scan = base64_encode($contents);
$query = "INSERT INTO images ('$Scan')";
$result = $mysqli->query($query);
?>

извлечение происходит так:
<?php
header("Content-type: image/jpg");
$ID = $_GET['ID'];
$query = "SELECT `Scan` FROM `images` WHERE `ID` = '$ID'";
$result = $mysqli->query($query);
$row = $mysqli->fetch_array($result);
$content = base64_decode($row['Photo']);
echo $content;
?>

С помощью base64 в базу можно загонять/извлекать не только картинка, но любые другие объекты

 

 

Добавить свой ответ: http://phper.ru/viewtopic.php?t=51



Задать свой вопрос вы можете на php форуме

 

Список php вопросов для наших экспертов

Вопросы защиты скрипта почтовой формы (Вопрос задал: Лёшка)

Ответить на них вы можете в соответствующих топиках. (кликните мышкой на вопрос)

 

Вопрос номера

Вопросы защиты скрипта почтовой формы (Вопрос задал: Лёшка)

 

Есть форма отправки писем на e-mail, необходимо её защитить от спамеров и флудеров. То есть нужно, поставить картинку в защиту и сделать так, чтобы отправлялись только те данные, которые заявлены в заголовке, то есть в строке e-mail отправлялся бы только e-mail, а не любой набор букв.

Как это сделать, подскажите, уважаемые эксперты.

Вот код формы:

Видимая часть на сайте

Код:

<center>
<DIV>
<form action=aromatbook.php method=post>
<center>
<b>
ФИО<br>
<input type=text name=name size=30>
<p>e-mail
<br>
<input type=text name=email size=30>
</b>
<p>
<b>
Пожелание
<br>
<textarea name=mess rows=5 cols=20></textarea>
</b>
<b>
<p><input type=submit value="
Отправить">
</b>
</center>
</form>
</DIV>
</center>




Вот код скрипта:

Код:

<?php

if (isset ($name))
{
$name = substr($name,0,90); //Не может быть более 90 символов
if (empty($name))
{
echo "<center><b>Не указано имя !!!<p>";
echo "<a href=sitesozdatfaq.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$name = "не указано";
}

if (isset ($email))
{
$email = substr($email,0,50); //Не может быть более 50 символов
if (empty($email))
{
echo "<center><b>Не указан e-mail !!!<p>";
echo "<a href=sitesozdatfaq.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$email = "не указано";
}

if (isset ($mess))
{
$mess = substr($mess,0,1000); //Не может быть более 1000 символов
if (empty($mess))
{
echo "<center><b>Сообщение не написано !!!<p>";
echo "<a href=sitesozdatfaq.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$mess = "не указано";
}

$i = "не указано";
if ($name == $i AND $email == $i AND $mess == $i)
{
echo "Ошибка ! Скрипту не были переданы параметры !";
exit;
}

$to = "мой e-mail";
$subject = "письмо";
$message = "
ФИО пославшего:
$name 
e-mal:
$email 
пожелание:
$mess 
IP-адрес:
$REMOTE_ADDR";
mail ($to,$subject,$message) or print "Не могу отправить письмо !!!";
echo "<center><b>Спасибо. <br><br>";
exit;
?>



Что и где нужно поменять? Что дописать, чтобы форма работала только при правильной картинке, которой пока тоже нет, как её поставить? И чтобы форма проверяла реальность e-mail и только после этого отправляла содержимое пожелания?

Буду ждать ответа  Лёшка

http://phper.ru/viewtopic.php?t=35 Узнать ответ

 

Наши модераторы

Seadog. Стал модератором – 12 октября 2007 года.

О Себе:

Имею опыт программирования на PHP
http://imtc.com.ua
http://seadog.com.ua
http://maribase.com.ua в разработке
http://seadog.e2e.ru в разработке

Найти все сообщения модератора Seadog

=======================================

NickGray. Стал модератором – 16 октября 2007 года.

Найти все сообщения модератора NickGray

=======================================

Magir. Стал модератором – 16 октября 2007 года.

О Себе:

Опыт PHP-программирования - более четырех лет, в данный момент профессионально этим не занимаюсь, но периодически программирую для клиентов своей хостинговой фирмы (http://magir.ru/).

Основной профиль моей деятельности - информационная безопасность.

Найти все сообщения модератора Magir

P.S.

На этом сегодняшний выпуск заканчиваю. До связи.

Напоминаю, что я приглашаю вас стать модератором php форума.

==========

Phper.ru - PHP. Распространённые вопросы и ответы


В избранное