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 86 Опубликовано: 5 января 2021 Рассказать Опубликовано: 5 января 2021 14 часов назад, a1exRaccoon сказал: летит всякий спам по 50-100 писем в день, как избавиться от ботов и спама? Родная обратная связь вполне справляется от ботов - только нужно использовать защиту: встроенную капчу и своеобразный вопрос с ответом. Либо использовать модуль от Пафнутия Цитата Ссылка на сообщение Поделиться на других сайтах
Mr. Bot 26 Опубликовано: 7 января 2021 Рассказать Опубликовано: 7 января 2021 05.01.2021 в 12:31, kamensk сказал: Родная обратная связь вполне справляется от ботов - только нужно использовать защиту: встроенную капчу и своеобразный вопрос с ответом. Либо использовать модуль от Пафнутия Стандартная форма ничуть не хуже бомбится почти любым ПО. Единственная защита, это не стандартные решения. Цитата Ссылка на сообщение Поделиться на других сайтах
koful 0 Опубликовано: 30 августа Рассказать Опубликовано: 30 августа В 2024 проблема все еще актуальна, спам летит даже через рекапчу v2, v3 Цитата Ссылка на сообщение Поделиться на других сайтах
skapunker 64 Опубликовано: 5 октября Рассказать Опубликовано: 5 октября 30.08.2024 в 15:51, koful сказал: В 2024 проблема все еще актуальна, спам летит даже через рекапчу v2, v3 может это пишут не боты а люди, вот ниче и не помогает Цитата Ссылка на сообщение Поделиться на других сайтах
radrigo 179 Опубликовано: 5 октября Рассказать Опубликовано: 5 октября 30.08.2024 в 14:51, koful сказал: В 2024 проблема все еще актуальна, спам летит даже через рекапчу v2, v3 Лучше, чем вопрос-ответ, от спама ничего не поможет. Придумайте вопросы и ответы, имеющие отношение к тематике вашего сайта. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.