На заметку PHP программисту

1. Все элементы массива $_SERVER, начинающиеся со слова "HTTP_" - это HTTP заголовки. HTTP заголовки присылает клиент и верить им нельзя, так как их легко подделать. Их можно использовать дополнительно в справочных целях, которая, возможно, даст полезную информацию. 

2. Для логирования IP адреса пользователя использовать только REMOTE_ADDR, а всякие HTTP_X_FORWARDED_FOR, X_REAL_IP, VIA использовать только для дополнительной информации.

3. При формировании письма от формы обратной связи все введенные пользователем данные помещаем только в текст письма. В заголовки их нельзя помещать, потому что пользователь добавляя новые строки может добавить новые заголовки, в том числе и адресов пользователей. Если хочется эмулировать работу email'a, то надо обязательно проверить все введенные данные из формы, которые  вставляются не в текст сообщения на наличие символов "\r" и "\n". При их наличии письмо не отправлять!

4. В настройках всегда ставить: register_globals=off. Также рекомендуется объявлять все переменные, перед тем как их использовать.

5. Отключить "волшебные кавычки", если версия php старше 5.3.0. Начиная с 5.3.0 отмечены устаревшей, а с 5.4.0 удалены.

6. Перенаправлять после успешного POST запроса. Это надо делать, чтобы избежать повторной отправки формы. Подробнее можете прочитать про паттерн Post/Redirect/Get.

комментарии (0)