Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
astaa
0 / 0 / 0
Регистрация: 14.08.2016
Сообщений: 13
1

PHP-обработчик формы с фильтрами

26.08.2016, 17:46. Просмотров 532. Ответов 2
Метки нет (Все метки)

Здравствуйте.
Буду признателен, если кто-то подскажет, какие функции использовать в php-обработчике с защитой от возможных неприятностей (когда в форму присылают вредительский код). Паттернами в инпутах я максимально обезопасил ввод, но предполагаю, что могут быть какие-то лазейки, и хочется избежать неприятностей по максимуму. Скажу сразу, что алерт в php меня вполне устраивает, просьба не обращать на него внимания. Всё работает, просто хочу обезопасить. Сама форма простая:

HTML:
HTML5
1
2
3
4
5
6
7
<form name="startpage1" action="send1.php" method="post"  target="_self"">
    <div>
        <input type="text" name="fio" placeholder=" Ваше имя"  pattern="[ A-Za-zА-Яа-яЁё0-9]{1,50}" required>
        <input type="tel" name="phone" placeholder=" Ваш номер телефона (от 7 до 11 цифр)" pattern="[0-9]{7,11}" required>
        <input type="submit" value="Заказать звонок">
    </div>
</form>

PHP:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
        header("Content-Type: text/html; charset=utf-8");
?>
 
<?php
$fio = $_POST['fio'];
$phone = $_POST['phone'];
$fio = htmlspecialchars($fio);
$phone = htmlspecialchars($phone);
$fio = urldecode($fio);
$phone = urldecode($phone);
$fio = trim($fio);
$phone = trim($phone);
if (mail("examle@mail.ru", "Заявка с сайта", "ФИО:".$fio.". Номер: ".$phone ,"From: example--.ru \r\n"))
    {
    echo '<script type="text/javascript">alert("Ваша заявка принята. Спасибо за обращение. Наш специалист свяжется с Вами в течение максимум 30 минут.");</script>';
 } 
    else 
    { 
    echo "<script>alert("Приносим свои извинения. При отправлении данных возникла ошибка.");</script>";
}
echo "<script>window.location.href='index.html#sent1'</script>";
?>
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2016, 17:46
Ответы с готовыми решениями:

не вызывается PHP обработчик для формы, которая тоже в PHP файле
На страничке PHP есть кнопка &lt;form ...&gt;&lt;input type=&quot;button&quot; ..&gt; &lt;/form&gt; при нажатии на которую...

Обработчик формы PHP
Создала 3 кнопки. Как прописать файл main.php, чтобы задать действие для кнопок? HTML знаю плохо,...

PHP обработчик формы
&lt;form action=&quot;send.php&quot; method=&quot;post&quot; &gt;&lt;br&gt; &lt;select data-placeholder=&quot;Выберите&quot;...

PHP и HTML: обработчик формы
Когда строишь html-форму, ей в обработчик &quot;action&quot; прописываешь файл, который будет обрабатывать...

Не работает обработчик формы в php 7.0
Привет всем Не могу понять почему не передаются данные из формы в массив POST. собственно имеется...

2
Kerry_Jr
Эксперт PHP
2263 / 2049 / 951
Регистрация: 14.05.2014
Сообщений: 6,011
Записей в блоге: 1
Завершенные тесты: 5
26.08.2016, 17:50 2
Цитата Сообщение от astaa Посмотреть сообщение
PHP
1
2
$fio = urldecode($fio);
$phone = urldecode($phone);
С какой целью вы здесь используете urldecode()? Она здесь не нужна.
0
astaa
0 / 0 / 0
Регистрация: 14.08.2016
Сообщений: 13
26.08.2016, 17:55  [ТС] 3
Код я взял из внешнего источника
http://webriz.ru/st/one/prosteyshaya...chi-html-i-php
Вреда от этой функции нет, мобыть она и не сильно нужна
0
26.08.2016, 17:55
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2016, 17:55

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Нужен php обработчик для формы обратной связи
Как отправить письмо с php файла с помощью функции mail() ? Вот форма: &lt;form action=&quot;&quot; class=&quot;...

Обработчик на PHP для HTML-формы с чекбоксами и одним полем
Здрасте Нужна помощь в создании обработчика на PHP для этой формы Что делает? Выводит в первой...

PHP обработчик формы, ошибки вывода в ввиде модального окна
&lt;?php //заносим введённое пользователем имя в переменную $name, если он пустой, то уничтожаем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.