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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как защитить форму от спамера 
:(
    Опции темы
forty
Дата 1.3.2006, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте
На сайте стоит простая форма отправки сообщений на е-mail. Удаленный пользователь (спамер) использует ее (либо напрямую обработчик) в качестве инструмента для осуществления спам-рассылки через мой сервер хостера.
Если кто сталкивался, то какие методы защиты обработчика будут наиболее действенными?
С уважением forty


А вот сам скрипт

Это сообщение отредактировал(а) forty - 1.3.2006, 21:25

Присоединённый файл ( Кол-во скачиваний: 22 )
Присоединённый файл  kontakt.rar 6,22 Kb
PM MAIL   Вверх
Ciber SLasH
Дата 1.3.2006, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Наиболее действенный метод — это генерировать картинку с цифрами и отсылать форму только если ввели в поле те цифры, которые на картинке.
Подробнее тут: http://www.codenet.ru/webmast/php/Security-Images-in-PHP/
PM   Вверх
forty
Дата 2.3.2006, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ciber SLasH Вы меня не поняли.
А проблема в том что какой то американский спамер использует мою форму для своих спамерских дел тоесть отправляет спам из моего формуляра, Но не мне а по другим Е-маил адресам.
У него есть свой список е-маил адресов и по этим адресам и идёт (спам).

PM MAIL   Вверх
Ciber SLasH
Дата 2.3.2006, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(forty @ 2.3.2006, 00:14 Найти цитируемый пост)
А проблема в том что какой то американский спамер использует мою форму для своих спамерских дел

Ну так если будет необходимо вводить при отправки письма цифры, которые генерируются на картинке, то этому спамеру прийдётся вручную отправлять каждое письмо, т.к. ему каждый раз прийдётся вводить цифры которые генерируются случайным образом.
PM   Вверх
forty
Дата 2.3.2006, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А кто знает может он письма отправляет не вручную а сразу патоком.
PM MAIL   Вверх
2man
Дата 2.3.2006, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2007
Регистрация: 6.5.2005
Где: Нижние Чигири

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



forty, как он сможет отправлять потоком если цифрты-то меняться будут каждый раз?!


--------------------
Быстро поднятое - упавшим не считаеся
PM MAIL ICQ MSN   Вверх
forty
Дата 2.3.2006, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



2man Скажи, пожалуйста, а мой скрипт ты посмотрел?.
Неужели он дырявый.

Это сообщение отредактировал(а) forty - 2.3.2006, 01:34
PM MAIL   Вверх
Ciber SLasH
Дата 2.3.2006, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(forty @ 2.3.2006, 01:34 Найти цитируемый пост)
Неужели он дырявый.

Причём тут дырявость?
Мы тебе про Ерёму, а ты нам про Фому. smile
PM   Вверх
forty
Дата 2.3.2006, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Просто загадка как этот спамер подключаетца к файлу (sendkontakt.php) и каким образом он заставляет (sendkontakt.php) отправлять письма по другим адресам.
PM MAIL   Вверх
2man
Дата 2.3.2006, 01:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2007
Регистрация: 6.5.2005
Где: Нижние Чигири

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



Вот тебе пример: приходишь в магазин говоришь почему у меня приложения на компьютере медленно грузятся. Тебе говорят: надо побольше оперативной памяти. А ты говоришь: а может у меня процессор плохо крутит?
Тоже самое и с твоим скриптом. Добавь в свою уже существующуу прогу ту вещь, что говорит Ciber SLasH
Добавлено @ 01:49
А CHMOD какие выставлены, простите?


--------------------
Быстро поднятое - упавшим не считаеся
PM MAIL ICQ MSN   Вверх
forty
Дата 2.3.2006, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Простите меня друзья, что так много вопросов задаю.
Просто хочется а быть уверенным что это поможет.

Достал меня этот спамер. По всему инету продаёт Виагру и получаетца, что это я отправляю эти письма.
Добавлено @ 02:03
CHMOD, я поставил 777
PM MAIL   Вверх
sergejzr
Дата 2.3.2006, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Ещйо пару простых способов (картинка - железно конечно, но очень круто, хотя для Е - мыл конечно единственно правильное решение, ибо спамер найдёт, как всё остальное перехитрить)
Итак:


1) генерить время и его вписывать в форму (при этом хитро кодировать его). Запрещать посылку писем, старше скажем 2 часов.
2) Проверять referer
3) Считать сообщения с одного ИП при большом количестве или частоте банить ИП.
4) сажать куки и сверять по ним количество посланных сообщений, если спамер динамически меняет ИП.

Это из того, что сразу в голову приходит.
Добавлено @ 02:08
chmod не при чём


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
forty
Дата 2.3.2006, 02:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



sergej.z Спасибо тебе за подсказки.
Но я не такой профессионал в области ПХП.
Я простой художник и для меня это трудное дело.

я просто подумал, как небуть можно попроще решать эту для меня невыполнимую задачу.

Это сообщение отредактировал(а) forty - 2.3.2006, 02:22
PM MAIL   Вверх
sergejzr
Дата 2.3.2006, 02:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Поставь пока эту простейшую защитую moiserver.ru - это имя должно содержаться в адресе странички с которой оправляем.
Код

<?php
$client_ok=strpos($_SERVER["HTTP_REFERER"],"moiserver.ru");
:
:
if($client_ok)
{
mail($UserEmail, "$ThankYouMessage", $UserMessage, $headers);
}
:
:
if($client_ok)
{
mail($AdminEmail, "Kontakt", $AdminMessage, $headers);
}//Пришёл "слева" не говори ему об ошибке, пусть думает, что всё работает нормально
                echo ("

<html>
<head>
<title>kontakt</title>
:
:
:
//итд 

Добавлено @ 02:36
Вот тебе полностью код. myserver.ru замени на свой сервер
Код

<?php
$myserv ="myserver.ru";


$SiteName = "test";
$AdminEmail = "[email protected]";
$ThankYouMessage = "Guten Tag Ihre Mitteilung ist bei uns eingegangen.";
$SiteHttp = "www.test.ru";
$AdminName = "test";

/*****main code*****/
$UserMessage = "Guten Tag $UserName. <br>Ihre E-Mail ist bei uns eingegangen.<br><br>";
$UserMessage .= "Wir werden uns  bei Ihnen melden. <br>";
$UserMessage .= "<br>Mit freundlichen Gr&uuml;ssen :<br>$AdminName <br> <a href=\"mailto:$AdminEmail\">$AdminEmail</a><br><a href=\"http://$SiteHttp\" target=\"_blank\">$SiteHttp</a><br>";
$from="$AdminEmail";
$headers="Content-Type: text/html; charset=iso-8859-1\n";
$headers.="From: $from\nX-Mailer:";
if(strpos($_SERVER["HTTP_REFERER"],$myserv))
mail($UserEmail, "$ThankYouMessage", $UserMessage, $headers);
$AdminMessage  = "Kontakt: von  $UserName\n<br>";
$AdminMessage .= "<br><font color=green>Email:</font><br> $UserEmail\n<br>";
$AdminMessage .= "<br><font color=green>Name:</font><br> $UserName\n<br>";
$AdminMessage .= "<br><font color=green>Kommentare/Fragen:</font>\n";
$AdminMessage .= "<br>$UserComments<br><br>";
$AdminMessage .= "<br><font color=green>IP-Adresse:</font><br> $REMOTE_ADDR\n<br>";
$AdminMessage .= "<br><font color=green>Browser:</font><br><b> $HTTP_USER_AGENT\n</b><br>";
$from="$UserEmail";
$headers="Content-Type: text/html; charset=iso-8859-1\n";
$headers.="From: $from\nX-Mailer:";
if(strpos($_SERVER["HTTP_REFERER"],$myserv))
mail($AdminEmail, "Kontakt", $AdminMessage, $headers);
                echo ("

<html>
<head>
<title>kontakt</title>
<meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-1\">
</head>
<body style=text-align: center>

<center>
<table width=430 bgcolor=cccccc cellspacing=0 cellpadding=0 valign=center border=0><tr><td><center><span class=headtekstsev><B>Vielen Dank $UserName!</B></font></td></tr></table>

<BR><BR>
<CENTER>
  <span class=tekstbold>
  <b><center>Ihre Mail ist eingegangen</b><BR><BR>

</CENTER>

<table width=100% cellspacing=0 cellpadding=0 valign=center border=0><tr><td><center><font face=Verdana size=2><center><a href=index.htm>Zur&uuml;ck</a></center></font></td></tr></table>



");

?>


</body>
</html>



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
forty
Дата 2.3.2006, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



sergej.z Спасибо тебе добрый человек.
дай БОГ тебе здоровьие
Сейчас буду пробовать, куда код поставить.

PM MAIL   Вверх
forty
Дата 2.3.2006, 03:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Только что заменил (sendkontakt.php) на ваш 2 код.
На данвере всё работает.
Низкий вам поклон.

PS: А вот куда вставить ваш 1 вариант я не знаю.

С уважением
forty
PM MAIL   Вверх
sergejzr
Дата 2.3.2006, 03:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Первый вариант только чтобы разобраться. Никуда не вставлять smile Это обьяснение, как работает "на пальцах".

Не за что smile Для этого мы тут и общаемся smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Ciber SLasH
Дата 2.3.2006, 04:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Вот код с защитой через генерацию изображения:
index.php:
Код

<?
session_start();
session_register("secret_number");

if (intval($_SESSION["secret_number"])<1000) {
    srand(doubleval(microtime()));
    $_SESSION["secret_number"]=rand(1000,9999);
    }

if ($_SERVER["REQUEST_METHOD"]=="POST") {

    $error=0;
    if ($_POST["secretcode"]!=$_SESSION["secret_number"] || intval($_POST["secretcode"])==0) $error=1;

    if ($error==0) {
        $_SESSION["secret_number"]=rand(1000,9999);

        header('Location: sendkontakt.php');
        }

    if ($error==1) print "<font color=red>Число с картинки введено неверно</font>";
    }
?>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Kontakt</title>
<script src="kontakt.js" type="text/javascript"></script>
</head>

<body>

<div align="center">

    <table border="0" width="367" cellspacing="0" cellpadding="0">
    <form name="form1" id="form1" onSubmit="return testing(form1)" action="index.php" method="POST">
        <tr>
            <td height="120" valign="top">
<table WIDTH="100%" id="table154" cellspacing="0" cellpadding="0">

<tr>
<td WIDTH="476">
                            &nbsp;</td>
</tr>

</table>
<table WIDTH="529" id="table155" cellspacing="0" cellpadding="0" height="75">
<tr>
<td ALIGN=RIGHT WIDTH="132" height="19">
<p align="left">
                <span class="punktred">*</span> <span class="tekst3">Name:</span></td>
<td WIDTH="397" height="19">
<input type="text" name="UserName" size="54"></td>
</tr>

<tr>
<td ALIGN=RIGHT WIDTH="529" height="5" colspan="2">
<p align="left">
                            </td>
</tr>
<tr>
<td ALIGN=RIGHT WIDTH="132" height="19">
<p align="left"><span class="punktred">*</span> <span class="tekst3">E-mail:</span></td>
<td WIDTH="397" height="19">

                            <input type="text" name="UserEmail" size="54"></td>
</tr>
<tr>
<td ALIGN=RIGHT colspan="2" height="9" width="529">
                            </td>
</tr>

<tr>
<td ALIGN=RIGHT colspan="2" height="14" width="529">
<p align="center" class="tekst3">
<span class="punktred">* </span>Kommentare/Fragen:</td>
</tr>

<tr>
<td ALIGN=RIGHT colspan="2">
<p align="left" class="tekstbold">
                            &nbsp;</td>
</tr>
<tr>
<td ALIGN=RIGHT colspan="2">
                           <textarea rows="8" name="UserComments" cols="54"></textarea></td>
</tr>
<tr>
<td ALIGN=RIGHT colspan="2">
<div align="center">
    <table WIDTH="360" id="table156" cellspacing="0" cellpadding="0" height="35">

<tr>
<td ALIGN=RIGHT WIDTH="360" height="10" colspan="2">
</td>
</tr>
<tr>
<td ALIGN=RIGHT WIDTH="130" height="25">&nbsp;
</td>
<td ALIGN=RIGHT WIDTH="230" height="25">
<center>
    <img src='code.php?<?=doubleval(microtime());?>' width="101" height="26" vspace="5">
    <input type="text" name="secretcode">
</center>
<input type="submit" value="Abschicken" style="float: left"></td>
</tr>
</table>
  </div>
    </td>
</tr>

</table>
           </td>
        </tr>
        </table>
    </div>

</body>

</html>


Это сообщение отредактировал(а) Ciber SLasH - 2.3.2006, 04:11
PM   Вверх
forty
Дата 2.3.2006, 04:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ciber SLasH огромное Вам Спасибо.
Вы сделали , просто Супер вещ, я просто в восторге.

Только как сделать, чтобы когда, например я неправильно пишу цифры
с картинки, то данные оставались на своем месте
Тоесть не надо заново писать имя, е-маил, и текст.
----------------------------------------------------------------------------------------
А когда цифры пишу правильно то
данвер показывает ошибку в строках 12,19,20,21,22,24,27,42
Может быть это не ошыбка не знаю?


Это сообщение отредактировал(а) forty - 2.3.2006, 05:20
PM MAIL   Вверх
Ciber SLasH
Дата 2.3.2006, 05:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(forty @ 2.3.2006, 04:51 Найти цитируемый пост)
Только как сделать, чтобы когда, например я неправильно пишу цифры
на картинке, то данные оставались на своем месте

Код

<?
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT);
session_start();
session_register("secret_number");

if (intval($_SESSION["secret_number"])<1000) {
    srand(doubleval(microtime()));
    $_SESSION["secret_number"]=rand(1000,9999);
    }

if ($_SERVER["REQUEST_METHOD"]=="POST") {

    $error=0;
    if ($_POST["secretcode"]!=$_SESSION["secret_number"] || intval($_POST["secretcode"])==0) $error=1;

    if ($error==0) {
        $_SESSION["secret_number"]=rand(1000,9999);

        header('Location: sendkontakt.php');
        }

    if ($error==1) print "<font color=red>Число с картинки введено неверно</font>";
    }
?>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Kontakt</title>
<script src="kontakt.js" type="text/javascript"></script>
</head>

<body>

<div align="center">

    <table border="0" width="367" cellspacing="0" cellpadding="0">
    <form name="form1" id="form1" onSubmit="return testing(form1)" action="index.php" method="POST">
        <tr>
            <td height="120" valign="top">
<table WIDTH="100%" id="table154" cellspacing="0" cellpadding="0">

<tr>
<td WIDTH="476">
                            &nbsp;</td>
</tr>

</table>
<table WIDTH="529" id="table155" cellspacing="0" cellpadding="0" height="75">
<tr>
<td ALIGN=RIGHT WIDTH="132" height="19">
<p align="left">
                <span class="punktred">*</span> <span class="tekst3">Name:</span></td>
<td WIDTH="397" height="19">
<input type="text" name="UserName" size="54" value="<?=$_POST['UserName']?>"></td>
</tr>

<tr>
<td ALIGN=RIGHT WIDTH="529" height="5" colspan="2">
<p align="left">
                            </td>
</tr>
<tr>
<td ALIGN=RIGHT WIDTH="132" height="19">
<p align="left"><span class="punktred">*</span> <span class="tekst3">E-mail:</span></td>
<td WIDTH="397" height="19">

                            <input type="text" name="UserEmail" size="54" value="<?=$_POST['UserEmail']?>"></td>
</tr>
<tr>
<td ALIGN=RIGHT colspan="2" height="9" width="529">
                            </td>
</tr>

<tr>
<td ALIGN=RIGHT colspan="2" height="14" width="529">
<p align="center" class="tekst3">
<span class="punktred">* </span>Kommentare/Fragen:</td>
</tr>

<tr>
<td ALIGN=RIGHT colspan="2">
<p align="left" class="tekstbold">
                            &nbsp;</td>
</tr>
<tr>
<td ALIGN=RIGHT colspan="2">
                           <textarea rows="8" name="UserComments" cols="54"><?=$_POST['UserComments']?></textarea></td>
</tr>
<tr>
<td ALIGN=RIGHT colspan="2">
<div align="center">
    <table WIDTH="360" id="table156" cellspacing="0" cellpadding="0" height="35">

<tr>
<td ALIGN=RIGHT WIDTH="360" height="10" colspan="2">
</td>
</tr>
<tr>
<td ALIGN=RIGHT WIDTH="130" height="25">&nbsp;
</td>
<td ALIGN=RIGHT WIDTH="230" height="25">
<center>
    <img src='code.php?<?=doubleval(microtime());?>' width="101" height="26" vspace="5">
    <input type="text" name="secretcode">
</center>
<input type="submit" value="Abschicken" style="float: left"></td>
</tr>
</form>
</table>
  </div>
    </td>
</tr>

</table>
           </td>
        </tr>
        </table>
    </div>

</body>

</html>


Это сообщение отредактировал(а) Ciber SLasH - 2.3.2006, 05:23
PM   Вверх
forty
Дата 2.3.2006, 05:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



я дико извиняюсь, но у меня никак не получаитца всё это вместе собрать.
Помогите чайнику, пожалуйста.
вот что у меня показывает.

Это сообщение отредактировал(а) forty - 2.3.2006, 05:49

Присоединённый файл ( Кол-во скачиваний: 22 )
Присоединённый файл  1.JPG 20,12 Kb
PM MAIL   Вверх
Ciber SLasH
Дата 2.3.2006, 05:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Вставь после первой строки вот это error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT);
PM   Вверх
forty
Дата 2.3.2006, 05:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вставил

Присоединённый файл ( Кол-во скачиваний: 24 )
Присоединённый файл  2.JPG 19,66 Kb
PM MAIL   Вверх
Ciber SLasH
Дата 2.3.2006, 06:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Странно, тогда попробуй так: error_reporting(E_ALL & ~8 & ~2048);
PM   Вверх
forty
Дата 2.3.2006, 06:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ciber SLasH то, что вы сейчас сделали это просто чудо.
я снимаю перед вами шляпу.

Вот просто после отправки показывает вот это, а как можно верхнюю часть убрать


Присоединённый файл ( Кол-во скачиваний: 24 )
Присоединённый файл  3.JPG 30,00 Kb
PM MAIL   Вверх
Ciber SLasH
Дата 2.3.2006, 06:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Такую же строку вставить во вторую строчку файла sendkontakt.php
PM   Вверх
forty
Дата 2.3.2006, 06:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ciber SLasH всё получилось у вас просто БОЖЫЙ дар.
Дорогой друг Спасибо вам огромное. У вас очень добрая душа.
Дай вам БОГ здоровее и счастье
С большим уважением
forty.
PM MAIL   Вверх
Ciber SLasH
Дата 2.3.2006, 06:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Вы мне льстите smile
Спасибо конечно за добрые слова... и всегда пожалуйста, рад был помочь. smile
PM   Вверх
forty
Дата 2.3.2006, 06:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Просто обидно, что не могу репутацию поднять.
Люди добрые поднимите, пожалуйста, за меня репутацию у Ciber SLasH
Он же меня здорово помог.
Спосибо.
forty

PM MAIL   Вверх
forty
Дата 3.3.2006, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте Ciber SLasH
Вы вчера, тоесть сегодня мне очень помогли.
Всё отлично работает. Только есть один моленкий момент.
В письме отсутствует данные тоесть Имя, Е-Маил, и текст.
Интересно, а почему данные, ведённые пользователем, пропадают.
С большим уважением
forty

Это сообщение отредактировал(а) forty - 3.3.2006, 00:05

Присоединённый файл ( Кол-во скачиваний: 16 )
Присоединённый файл  6.JPG 19,19 Kb
PM MAIL   Вверх
Ciber SLasH
Дата 3.3.2006, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Нужно в файл index.php после 13 строки добавить строки:
Код

        $_SESSION['UserName'] = $_POST['UserName'];
        $_SESSION['UserEmail'] = $_POST['UserEmail'];
        $_SESSION['UserComments'] = $_POST['UserComments'];

в файл sendkontakt.php после 2 строки добавить строки:
Код

session_start();
session_register("secret_number");
$UserName = $_SESSION['UserName'];
$UserEmail = $_SESSION['UserEmail'];
$UserComments = $_SESSION['UserComments'];



Это сообщение отредактировал(а) Ciber SLasH - 3.3.2006, 01:06
PM   Вверх
forty
Дата 3.3.2006, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ciber SLasH класс smile smile smile

чудо свершалось
Сейчас форма выглядит как конфетка.
Я счастлив, как слон.
forty


Еще раз хочу поблагодарить участников обсуждения.

Ciber SLasH smile
sergej.z smile
2man smile
Спасибо вам братцы.

PM MAIL   Вверх
Ciber SLasH
Дата 3.3.2006, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



На здоровье smile
PM   Вверх
forty
Дата 6.3.2006, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте
Подскажете, пожалуйста, Что надо добавить в скрипт?

Дело в том, что когда через форму я отправляю письмо, всё замечательно, письмо отправляется.
Но проблема в том, что когда после отправки открывается страница приветствии, что письмо отправлена, на этой странице когда нажимаю кнопку браузера назад а потом период, или когда просто перезгружаю браузера,отправляется еще одно письмо, и так бесконечно этими кнопками можно отправлять письма.

По этому очень прошу, посоветуйте что делать.
С уважением forty

Это сообщение отредактировал(а) forty - 7.3.2006, 05:09

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  8.JPG 5,15 Kb
PM MAIL   Вверх
sergejzr
Дата 6.3.2006, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Модератор: Пожалуйста, один топик - один вопрос.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Ciber SLasH
Дата 7.3.2006, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



2forty:
index.php:
Код

<?
error_reporting(E_ALL & ~8 & ~2048);
session_start();
session_register("secret_number");
if (!$_SESSION['is_mail']) {
    if (intval($_SESSION["secret_number"])<1000) {
        srand(doubleval(microtime()));
        $_SESSION["secret_number"]=rand(1000,9999);
        }
    if ($_SERVER["REQUEST_METHOD"]=="POST") {
        $error=0;
        if ($_POST["secretcode"]!=$_SESSION["secret_number"] || intval($_POST["secretcode"])==0) $error=1;
        if ($error==0) {
            $_SESSION["secret_number"]=rand(1000,9999);
            $_SESSION['UserName'] = $_POST['UserName'];
            $_SESSION['UserEmail'] = $_POST['UserEmail'];
            $_SESSION['UserComments'] = $_POST['UserComments'];
            header('Location: sendkontakt.php');
            }
        if ($error==1) print "<font color=red>Число с картинки введено неверно</font>";
    }
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Kontakt</title>
<script src="kontakt.js" type="text/javascript"></script>
</head>
<body>
<div align="center">
    <table border="0" width="367" cellspacing="0" cellpadding="0">
    <form name="form1" id="form1" onSubmit="return testing(form1)" action="index.php" method="POST">
        <tr>
            <td height="120" valign="top">
<table WIDTH="100%" id="table154" cellspacing="0" cellpadding="0">
<tr>
<td WIDTH="476">
                            &nbsp;</td>
</tr>
</table>
<table WIDTH="529" id="table155" cellspacing="0" cellpadding="0" height="75">
<tr>
<td ALIGN=RIGHT WIDTH="132" height="19">
<p align="left">
                <span class="punktred">*</span> <span class="tekst3">Name:</span></td>
<td WIDTH="397" height="19">
<input type="text" name="UserName" size="54" value="<?=$_POST['UserName']?>"></td>
</tr>
<tr>
<td ALIGN=RIGHT WIDTH="529" height="5" colspan="2">
<p align="left">
                            </td>
</tr>
<tr>
<td ALIGN=RIGHT WIDTH="132" height="19">
<p align="left"><span class="punktred">*</span> <span class="tekst3">E-mail:</span></td>
<td WIDTH="397" height="19">
                            <input type="text" name="UserEmail" size="54" value="<?=$_POST['UserEmail']?>"></td>
</tr>
<tr>
<td ALIGN=RIGHT colspan="2" height="9" width="529">
                            </td>
</tr>
<tr>
<td ALIGN=RIGHT colspan="2" height="14" width="529">
<p align="center" class="tekst3">
<span class="punktred">* </span>Kommentare/Fragen:</td>
</tr>
<tr>
<td ALIGN=RIGHT colspan="2">
<p align="left" class="tekstbold">
                            &nbsp;</td>
</tr>
<tr>
<td ALIGN=RIGHT colspan="2">
                           <textarea rows="8" name="UserComments" cols="54"><?=$_POST['UserComments']?></textarea></td>
</tr>
<tr>
<td ALIGN=RIGHT colspan="2">
<div align="center">
    <table WIDTH="360" id="table156" cellspacing="0" cellpadding="0" height="35">
<tr>
<td ALIGN=RIGHT WIDTH="360" height="10" colspan="2">
</td>
</tr>
<tr>
<td ALIGN=RIGHT WIDTH="130" height="25">&nbsp;
</td>
<td ALIGN=RIGHT WIDTH="230" height="25">
<center>
    <img src='code.php?<?=doubleval(microtime());?>' width="101" height="26" vspace="5">
    <input type="text" name="secretcode">
</center>
<input type="submit" value="Abschicken" style="float: left"></td>
</tr>
</form>
</table>
  </div>
    </td>
</tr>
</table>
           </td>
        </tr>
        </table>
    </div>
</body>
</html>

sendkontakt.php:
Код

<?php
error_reporting(E_ALL & ~8 & ~2048);
session_start();
session_register("secret_number");
if ($_SESSION['is_mail']) {
    header('Location: index.php');
    $_SESSION['is_mail'] = false;
    exit();
} else {
    $_SESSION['is_mail'] = true;
}
$UserName = $_SESSION['UserName'];
$UserEmail = $_SESSION['UserEmail'];
$UserComments = $_SESSION['UserComments'];

$SiteName = "test";
$AdminEmail = "[email protected]";
$ThankYouMessage = "Guten Tag Ihre Mitteilung ist bei uns eingegangen.";
$SiteHttp = "www.test.ru";
$AdminName = "test";

/*****main code*****/
$UserMessage = "Guten Tag $UserName. <br>Ihre E-Mail ist bei uns eingegangen.<br><br>";
$UserMessage .= "Wir werden uns  bei Ihnen melden. <br>";
$UserMessage .= "<br>Mit freundlichen Gr&uuml;ssen :<br>$AdminName <br> <a href=\"mailto:$AdminEmail\">$AdminEmail</a><br><a href=\"http://$SiteHttp\" target=\"_blank\">$SiteHttp</a><br>";
$from="$AdminEmail";
$headers="Content-Type: text/html; charset=iso-8859-1\n";
$headers.="From: $from\nX-Mailer:";
mail($UserEmail, "$ThankYouMessage", $UserMessage, $headers);
$AdminMessage  = "Kontakt: von  $UserName\n<br>";
$AdminMessage .= "<br><font color=green>Email:</font><br> $UserEmail\n<br>";
$AdminMessage .= "<br><font color=green>Name:</font><br> $UserName\n<br>";
$AdminMessage .= "<br><font color=green>Kommentare/Fragen:</font>\n";
$AdminMessage .= "<br>$UserComments<br><br>";
$AdminMessage .= "<br><font color=green>IP-Adresse:</font><br> $REMOTE_ADDR\n<br>";
$AdminMessage .= "<br><font color=green>Browser:</font><br><b> $HTTP_USER_AGENT\n</b><br>";
$from="$UserEmail";
$headers="Content-Type: text/html; charset=iso-8859-1\n";
$headers.="From: $from\nX-Mailer:";
mail($AdminEmail, "Kontakt", $AdminMessage, $headers);
                echo ("

<html>
<head>
<title>kontakt</title>
<meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-1\">
</head>
<body style=text-align: center>

<center>
<table width=430 bgcolor=cccccc cellspacing=0 cellpadding=0 valign=center border=0><tr><td><center><span class=headtekstsev><B>Vielen Dank $UserName!</B></font></td></tr></table>

<BR><BR>
<CENTER>
  <span class=tekstbold>
  <b><center>Ihre Mail ist eingegangen</b><BR><BR>

</CENTER>

<table width=100% cellspacing=0 cellpadding=0 valign=center border=0><tr><td><center><font face=Verdana size=2><center><a href=index.htm>Zur&uuml;ck</a></center></font></td></tr></table>



");

?>


</body>
</html>

PM   Вверх
forty
Дата 7.3.2006, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте Ciber SLasH
Всё работает на 100%. smile smile smile
Очень вас хочу поблагодарить за помощь.
Просто огромное вам человеческое СПАСИБО.
С большим уважением
forty.
PS: Извините меня, пожалуйста, что столько времени отвлёк вас от ваших дел.

PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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