PHP безопасная форма - PullRequest
0 голосов
/ 13 июля 2010

У меня есть контактная почтовая форма на моем веб-сайте, и я хочу сделать эту форму достаточно безопасной.Что является лучшим способом для этой работы, есть ли способ скрыть переменные PHP, которые я отправил с постом на другую страницу.

Любой образец или ссылка или идея?

Безопасный - я имею в виду, что мои данные в безопасности, поскольку пользователи будут вставлять свои личные данные, такие как номер паспорта, ssn ect, и хотят, чтобы эти данные были в некотором роде безопасными.Я где-то читал, что с некоторыми уколами есть люди, которые могут получить эти данные, отправленные в форме.Я думаю, что теперь ясно?

Ответы [ 5 ]

7 голосов
/ 13 июля 2010

Почему никто не упомянул HTTPS ?

Просто отправьте свою форму, используя протокол HTTPS, и все данные будут прозрачно зашифрованы (это означает, что вам не нужносделать что-нибудь, чтобы расшифровать его в PHP, он просто работает)

3 голосов
/ 13 июля 2010

Использование Очиститель HTML или OWASP .

Очиститель HTML

HTML Purifier соответствует стандартам Библиотека HTML-фильтров написана на PHP. HTML Purifier не только удалит все вредоносный код (более известный как XSS) с тщательно проверенным,
безопасный, но разрешительный белый список

OWASP

Безопасность открытого веб-приложения Проект (OWASP) - это название для всех деятельность OWASP Фонд.

0 голосов
/ 13 июля 2010

Протокол HTTPS - лучшее решение.Для защиты от спамеров вы можете использовать капчу.Если вы передаете переменную с одного сервера на другой, вы можете сделать ее более защищенной с помощью шифрования.

0 голосов
/ 13 июля 2010

Вы должны:

  • Требовать, чтобы ваши пользователи применяли капчу (или входили в систему), чтобы роботам было труднее использовать вашу почтовую форму.
  • Отправка почты на предопределенныетолько адреса (если возможно).
  • Принимать только POST (без GET), чтобы предотвратить CSRF.
  • Запрещать HTML в ваших письмах.
0 голосов
/ 13 июля 2010

Если под безопасным вы подразумеваете относительно защищенную от спамеров, одна из хороших вещей, которую нужно сделать среди многих других, - это иметь поле ввода электронной почты, чтобы конечный пользователь мог поставить свой ответ, который фактически обеспечивает допустимые значения MX.

     function isValidEmail($email){

       $pattern = '/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*
\@([a-z0-9])*(\.([a-z0-9])([-a-z0-9_-])([a-z0-9])+)*$/i';

    if(!preg_match ($pattern, $email)){return false;}



        list($user_name, $mail_domain) = explode("@",$email); // Split email address into username and domain name

        if (checkdnsrr($mail_domain, "MX")) return true;

        return false; // Invalid email address
        } 

Конечно, это не всеобъемлющее решение, но оно очень помогает сократить автоматические представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...