[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обработка формы.
Страницы: 1, 2, 3
Миша
Много информации, но. Есть форма регистрации, данные: Фамилия, имя, отчество, номер телефона. Как проверить данные перед их сохранением.


Например, если я не проверяю $_POST['imya']

if(empty($_POST['imya']))
{


Можно что нибудь сделать?

_____________
Принимаю заказы, писать в ЛС
Arh
Смотря на что проверить.

Цитата
Например, если я не проверяю $_POST['imya']

Опечатка или так должно быть? =)

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Миша
Именно, если не проверить, что можно сделать? В плохом смысле этого слова.

При этом ниже
if(empty($_POST['imya']))
{


_____________
Принимаю заказы, писать в ЛС
Arh
Можно сделать SQL инъекцию, можно сделать имя из цифр, можно сделать длинное имя, которое на экран не влезет, можно зарегистрировать уже занятое имя (если уникальные)

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
johniek_comp
смотря что после условия, если так die() то че тут сделаешь) показывай весь код

_____________
user posted image
Миша
Цитата (johniek_comp @ 26.12.2014 - 18:15)
смотря что после условия, если так die() то че тут сделаешь) показывай весь код

После условия if() - {сохранение в бд}

Что-бы от чего-то защищаться, нужно понять механизм взлома.

_____________
Принимаю заказы, писать в ЛС
Arh
Медведь
Цитата
Например, что

Базу удалить, зарегистрировать себя с правами администратора, баланс увеличить с 0 до 100500.
Цитата
вы как делаете в подобных случаях, перед сохранением в БД

Используем подготовленные выражения.

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



_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Миша
Хорошо, что мне написать в форме, что-бы что нибудь сделать. Например вывести "мой" текст на экран монитора. Больше практики надо.

_____________
Принимаю заказы, писать в ЛС
Arh
Медведь
Зарегистрируй пользователя с таким именем
Медвед<script>alert("моё");</script>


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Миша
Меня интересует именно тот участок кода, там есть вариант?
if(empty($_POST['imya']))
{


_____________
Принимаю заказы, писать в ЛС
Arh
Тут нет.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Миша
А так
$imya = $_POST['imya'];


_____________
Принимаю заказы, писать в ЛС
Arh
И так нет

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Миша
И в итоге от инъекций, достаточно перед сохранением использовать strip_tags?

_____________
Принимаю заказы, писать в ЛС
Arh
Медведь
strip_tags удаляет html и php тэги.

http://habrahabr.ru/post/148151/

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.