Может ли злоумышленник отправить методом $_POST какую нибудь билеберду, в обход формы? Например, я ожидаю получить $_POST['userName'] и $_POST['userEmail'] , а мне приходит $_POST['iAm'] и $_POST['coolHacker'].
В таком случае, если для меня критичны названия полей, и далее я их использую в своём скрипте - это может нарушить его работу. Что бы не работать напрямую с массивом $_POST, целесообразно ли будет его обработать следующим способом?
$formData = ['field1Name' => '', 'field2Name' => ''];
foreach ($formData as $fieldName => $value) {
if (isset($_POST[$fieldName])) {
$formData[$fieldName] = $_POST[$fieldName];
}
}
Я бы вам посоветовал использовать функцию array_intersect_key, выглядит более красиво:
$fields = ['field1Name', 'field2Name'];
$formData = array_intersect_key($_POST, array_flip($fields));
Результат будет тот же, но меньше кода.
По поводу вопроса - может ли добавить? Легко, просто меняет исходный код страницы или если через curl - добавляет параметры.
Вопрос безопасности в проекте должен быть реализован более глобально. С таким подходом вы точно где-то допустите ошибку. Пилите проект как угодно, а потом отдельно займитесь безопасностью. Найдите все шлюзы для данных и добавьте валидаторы для того чтобы не допустить попадания в обработку нецелевых данных.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости