2016-11-03 4 views
-5

Я изучаю, как сохранить проект от злоумышленников, поэтому у меня есть вопрос.Безопасность PHP POST Array

У меня есть форма с username и password полями, которые передаются скрипту PHP.

Полученный массив как это: Array([username] => X, [password] => Y)

Может ли злоумышленник избежать этого массива впрыснуть произвольный PHP код в мой сценарий?

Если да, то как он это делает и как я могу противодействовать?

Question Attachment

Спасибо за вашу помощь.

+2

Escape __what__? Напишите скрипт и поместите его __where__? –

+1

Что вы подразумеваете под _ "получить в массиве" _? Вы говорите о публикации формы или где вы «эхо» этого массива? Ваш вопрос как waaay, чтобы неясно было ответить ... напишите _specifics_ о своем приложении и покажите нам код, о котором вы беспокоитесь. –

+0

@u_mulder В php-файле, где этот массив получил выданный. – user7104700

ответ

0

Злоумышленник не может «избежать» массива PHP, потому что содержимое массива не выполняется как код. Он может содержать строку PHP, но эта строка не выполняется.

Что может быть небезопасным, так как ваш PHP-код обрабатывает ввод пользователя позже.

Если вы выводите данные без их очистки, пользователь может ввести любой код javascript, который будет отображаться на вашем сайте (для получения дополнительной информации см. Межсайтовый скриптинг или XSS). Чтобы предотвратить это в PHP, проверьте this question.

В качестве альтернативы, если вы помещаете данные в базу данных, не избегая ее, пользователь может ввести свои собственные команды SQL (для получения дополнительной информации смотрите SQL Injection). Чтобы предотвратить это в PHP, используйте что-то вроде PDO с подготовленными операторами.