代码之家  ›  专栏  ›  技术社区  ›  Metropolis

可以采取哪些步骤来确保PHP应用程序的安全性?

  •  3
  • Metropolis  · 技术社区  · 14 年前

    在银行网站上填写安全表格时,我一直想知道他们是如何知道自己的申请是完全安全的。当然你知道你在SSL上,你的帐户“应该”是安全的,希望安全问题,帐户节流,超时等应该保持你的帐户安全。但最好的测试方法是什么?什么决定了你的应用程序有多“安全”?如果你的代码中某个地方有一个bug,那么不管你有多少个保护措施。

    我最近为一个网站创建了一个登录名,它将在15分钟后自动注销用户,在3次尝试失败后锁定他们的帐户,包含一个安全问题,并在SSL上运行。但是我需要知道什么决定了程序的安全性。

    谢谢你的帮助!
    大都市

    主要问题是。”测试PHP安全性的最佳方法是什么”。是否有措施来确保这一点。肯定有。

    5 回复  |  直到 14 年前
        1
  •  7
  •   Joeri Sebrechts    14 年前

    web应用程序的安全验证有一个标准: OWASP ASVS

    它规定了一个清单,列出了你必须拥有的所有流程,以及你必须核实的所有事实,然后才能申请某种程度的安全性。我建议你去阅读详细的要求,以了解涉及到什么。ASVS需求的一个例子是“验证是否定义了正向验证模式并将其应用于所有输入。”

    这些要求分为4个级别:

    • 级别4适用于生命关键型应用程序

    另一个可能的标准是 Microsoft Security Development Lifecycle (SDL) . 这是他们用于自己产品的过程。SDL更面向过程,更通用。

        2
  •  4
  •   Kristoffer Sall-Storgaard ProllyGeek    14 年前

    信不信由你,银行没有办法百分之百肯定

    http://labs.securitycompass.com/index.php/exploit-me/ 有一堆用于检查XSS、sqlinjection等的资源,我也强烈推荐 The Web Application Hackers Handbook

    ……但在这一切发生之前,请考虑一下,你所保护的东西是否足够重要,足以摧毁核武器。。。还是面包屑就够了?

        3
  •  1
  •   Mischa    14 年前

    但我需要知道是什么决定了 程序的安全性。

    那个 重要的是,这可能是一个主意,聘请一家公司专门从事安全审计。

        4
  •  0
  •   jeroen    14 年前

    您所说的只是前端/用户可见的安全性。这只是一个方面,不要忘记后端安全性;服务器、数据库、php代码等等。

        5
  •  0
  •   Fanis Hatzidakis    14 年前

    安全 问题本身,但更多的是由于保护系统而产生的可用性问题,在考虑安全性时,这应该是一个考虑因素,并且这些天一直在我的脑海中,因为我最近遇到了一些非常愚蠢的it实现,特别是在电子银行应用程序中:

    • 三次登录失败后,我的两个银行会把你锁在门外。你会注意到我没有“在X时间内”的约束,因为没有任何约束。如果你今天输入了错误的密码,一个月前又输入了一次,8个月前又输入了一次,它会把你锁在外面。一旦您成功登录,它不会重置。

    • 邮件 ,而不是电子邮件。我已经等了一个多星期了。

    • 在我的例子中,所有这些都发生在我的行为之后,但是如果有人知道我的用户名,他会很容易地把我锁在外面,或者普通大众只是随便尝试一下。

    • 三次尝试失败后,询问用户是否忘记了密码,并提供支持电话号码

    • 如果要锁定帐户,请在同一页中再次提供电话支持号码,以便沮丧的用户能够获得一些帮助。

    还有其他想法吗?