【发布时间】:2012-09-04 21:56:48
【问题描述】:
我是一名技术作家,写过很多 HTML/CSS,但被扔进了压力锅,用 PHP 重写了一个 Web 应用程序,并且做得相当好,但我有点担心安全性。
具体来说,主页是用户登录的 INDEX.PHP。一旦他们登录,页面会重写部分自身并显示未登录用户无法使用的菜单选项。大约 50%用户将永远不需要登录,因为他们将查看不需要安全性的公共文档。其他 50% 的用户将对某些文档/页面的查看权限受到限制,并且能够写入数据库。
我的所有这些工作都很好,但我担心我正在做的两件事以及它们是否正确:
登录的用户可能会被重定向到另一个页面,例如 PAGE1.PHP。我不希望他们能够保存 PAGE1.PHP 的 URL,然后直接去那里,绕过安全性,所以在 PAGE1.PHP 上,我检查了我在 INDEX.PHP 上创建的登录 cookie。如果 cookie 存在,他们可以访问该页面,如果不存在,则不能。这是做这类事情的正确方法吗?
如何阻止恶意用户将重定向插入到我的各种表单上的众多文本框中之一?我需要允许 HTML,例如强、字体、背景等。我一直在通过一个检查可能的恶意内容的函数运行所有文本框值,一次一个,例如“元 http”或“锚点” " 或 "java script" 但我不确定这是最好的解决方案。
感谢您的帮助!
【问题讨论】:
-
你可以从阅读PHP documentation's on security开始。
-
有大量examples 的简单登录系统,通常在每个安全页面上都包含身份验证方法。
-
您还应该确保自己是storing passwords securely。
-
@Scott - 我知道你是新来的——请记住。如果其中一个答案对您有用,请不要忘记接受它。