a1exRaccoon 0 Опубликовано: 4 января 2021 Рассказать Опубликовано: 4 января 2021 Вот форма: <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> </head> <form action="send.php" method="post" id="sendform" enctype="multipart/form-data"> <input id="check" name="check" type="hidden" value="" /> <fieldset> <p> <i style="font-size: 15px; color: Black"><label>Имя*:</label><br> <input style="height:25px" name="name" value="" size="25" type="text" required placeholder=" Иван.." /></i> </p> <br><p> <i style="font-size: 15px; color: Black"><label>Контактный номер*:</label><br> <input style="height:25px" name="tel" value="" size="25" required type="tel" placeholder=" +7..." /></i> </p> <br><p> <i style="font-size: 15px; color: Black"><label>E-mail*:</label><br> <input style="height:25px" name="email" value="" size="25" required type="email" placeholder=" пример@mail.ru.." /></i> </p> <br><p> <i style="font-size: 15px; color: Black"><label>Тема:</label><br> <input style="height:25px" name="theme" value="" size="25" required type="theme" placeholder=" Тема сообщения или заказа.." /></i> </p> <br><p> <i style="font-size: 15px; color: Black"><label>Сообщение - Заказ:</label><br> <textarea style="resize:none" name="message" cols="31" rows="18" required placeholder=" Обязательное поле.." ></textarea></i> </p> <br><p> <i style="font-size: 15px; color: Black"><label>Прикрепить файл:</label><br><br> <input style="height:25px" name="file" value="1" size="25" type="file" /></i> </p> <br><input onclick="document.getElementById('check').value = 'secretcode';" style="height:30px; width:237px; font-size: 15px; color: Black" value="Отправить заявку" name="sendMail" type="submit" /> </fieldset> </form> </html> Через неё летит всякий спам по 50-100 писем в день, как избавиться от ботов и спама? Цитата Ссылка на сообщение Поделиться на других сайтах
a1exRaccoon 0 Опубликовано: 5 января 2021 Рассказать Опубликовано: 5 января 2021 (изменено) Автор Вот скрипт: <?php $to = 'info@!.ru'; $from = 'info@!!.ru'; if ($_POST['check'] != 'secretcode') exit('Spam decected'); if ( isset( $_POST['sendMail'] ) ) { $name = substr( $_POST['name'], 0, 64 ); $tel = substr( $_POST['tel'], 0, 64 ); $email = substr( $_POST['email'], 0, 64 ); $theme = substr( $_POST['theme'], 0, 64 ); $message = substr( $_POST['message'], 0, 250 ); if ( !empty( $_FILES['file']['tmp_name'] ) and $_FILES['file']['error'] == 0 ) { $filepath = $_FILES['file']['tmp_name']; $filename = $_FILES['file']['name']; } else { $filepath = ''; $filename = ''; } $body = "Имя:\r\n".$name."\r\n\r\n"; $body .= "Контактный номер:\r\n".$tel."\r\n\r\n"; $body .= "E-mail:\r\n".$email."\r\n\r\n"; $body .= "Тема - Заказ:\r\n".$theme."\r\n\r\n"; $body .= "Описание заказа:\r\n".$message; send_mail($to, $body, $email, $filepath, $filename); } // Вспомогательная функция для отправки почтового сообщения с вложением function send_mail($to, $body, $email, $filepath, $filename) { $subject = 'Новый заказ с сайта !.ru'; $boundary = "--".md5(uniqid(time())); // генерируем разделитель $headers = "From: info@!.ru \r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .="Content-Type: multipart/mixed; boundary=\"".$boundary."\"\r\n"; $multipart = "--".$boundary."\r\n"; $multipart .= "Content-type: text/plain; charset=\"utf-8\"\r\n"; $multipart .= "Content-Transfer-Encoding: quoted-printable\r\n\r\n"; $body = $body."\r\n\r\n"; $multipart .= $body; $file = ''; if ( !empty( $filepath ) ) { $fp = fopen($filepath, "r"); if ( $fp ) { $content = fread($fp, filesize($filepath)); fclose($fp); $file .= "--".$boundary."\r\n"; $file .= "Content-Type: application/octet-stream\r\n"; $file .= "Content-Transfer-Encoding: base64\r\n"; $file .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n"; $file .= chunk_split(base64_encode($content))."\r\n"; } } $multipart .= $file."--".$boundary."--\r\n"; mail($to, $subject, $multipart, $headers); echo "Сообщение отправлено. Спасибо Вам " . $first_name . ", мы скоро свяжемся с Вами."; echo "<br /><br /><a href='http://!.ru/'>Вернуться на сайт.</a>"; } ?> <script language="JavaScript" type="text/javascript"> function changeurl(){eval(self.location="http://!ru/");} window.setTimeout("changeurl();",3000); </script> Изменено 5 января 2021 пользователем a1exRaccoon Цитата Ссылка на сообщение Поделиться на других сайтах
kamensk 82 Опубликовано: 5 января 2021 Рассказать Опубликовано: 5 января 2021 14 часов назад, a1exRaccoon сказал: летит всякий спам по 50-100 писем в день, как избавиться от ботов и спама? Родная обратная связь вполне справляется от ботов - только нужно использовать защиту: встроенную капчу и своеобразный вопрос с ответом. Либо использовать модуль от Пафнутия Цитата Ссылка на сообщение Поделиться на других сайтах
Mr. Bot 26 Опубликовано: 7 января 2021 Рассказать Опубликовано: 7 января 2021 05.01.2021 в 12:31, kamensk сказал: Родная обратная связь вполне справляется от ботов - только нужно использовать защиту: встроенную капчу и своеобразный вопрос с ответом. Либо использовать модуль от Пафнутия Стандартная форма ничуть не хуже бомбится почти любым ПО. Единственная защита, это не стандартные решения. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.