PHP安全表单

时间:2010-07-13 18:11:31

标签: php forms security

我的网站上有联系邮件表格,我希望这个表格足够安全。 哪个是这个工作的最佳方式,有没有办法隐藏我发送到另一个页面的php变量。

任何样本或链接或想法?

安全 - 我的意思是我的数据是安全的,因为用户将插入他们的个人数据,如护照号码,ssnct,并希望这些数据在某种程度上是安全的。我已经阅读过一些注意事项,有些人可以接受表格发送的数据。我觉得我现在很清楚了吗?

5 个答案:

答案 0 :(得分:7)

为什么没有人提到 HTTPS

只需使用HTTPS协议提交表单,并且所有数据都是透明加密的(这意味着你不需要做任何事情来在PHP中解密它,它只是工作)

答案 1 :(得分:3)

使用HTML PurifierOWASP

HTML Purifier

  

HTML Purifier符合标准   用PHP编写的HTML过滤器库。   HTML Purifier不仅会删除所有内容   恶意代码(俗称为   XSS)经过全面审核,
  安全但宽容的白名单

<强> OWASP

  

Open Web Application Security   项目(OWASP)是所有人的名字   OWASP的活动   基础。

答案 2 :(得分:0)

如果安全,您的意思是相对受到垃圾邮件发送者的保护,那么在其他许多方面做的一件好事就是为最终用户提供一个电子邮件输入字段,以便他们回复实际上强制执行有效的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
        } 

当然不是一个全面的解决方案,但它确实有助于减少自动提交。

答案 3 :(得分:0)

你应该:

  • 要求您的用户应用验证码(或登录),以使机器人更难以使用您的邮件表单。
  • 仅将邮件发送到预定义的地址(如果可能)。
  • 仅接受POST(无GET),以防止CSRF。
  • 禁止邮件中的HTML。

答案 4 :(得分:0)

HTTPS协议是最佳解决方案。 对于Spamer保护,您可以使用验证码。 如果要将变量从一个服务器传递到另一个服务器,则可以使用加密使其更受保护。