使用PHP中的$\u会话确保用户登录系统的安全
我希望有人能帮助我,我正在创建一个PHP web应用程序,需要用户登录才能查看mysql数据库中的数据 我只是想知道这是否是一个好方法,是否足够安全?我知道在PHP脚本中没有什么是安全的,但我需要相当安全的 这就是我一步一步地做的,如果你能给我指出正确的方向,告诉我哪里错了,那就太好了使用PHP中的$\u会话确保用户登录系统的安全,php,mysql,security,session,Php,Mysql,Security,Session,我希望有人能帮助我,我正在创建一个PHP web应用程序,需要用户登录才能查看mysql数据库中的数据 我只是想知道这是否是一个好方法,是否足够安全?我知道在PHP脚本中没有什么是安全的,但我需要相当安全的 这就是我一步一步地做的,如果你能给我指出正确的方向,告诉我哪里错了,那就太好了 用户使用用户和密码登录 PHP根据数据库检查用户和密码 如果确定,则存储$SESSION[“username”];(没有用户名)到会话 在每次请求/页面加载时,我都有一个功能(如下)来检查会话 功能检查\u会话
- 用户使用用户和密码登录李>
- PHP根据数据库检查用户和密码李>
- 如果确定,则存储$SESSION[“username”];(没有用户名)到会话
- 在每次请求/页面加载时,我都有一个功能(如下)来检查会话 功能检查\u会话\u有效(){ 如果(!isset($_会话['username'])|$_会话['username']==“”){ 标题(“位置:/login.php”); } }
谢谢我读了你的帖子。你说过“PHP脚本中没有任何东西是安全的”,这真的让我震惊。让我试着回答你的问题 你们说过,若黑客在浏览器中创建cookie,他们会攻击我的会话吗?我的答案是否定的。 让我们了解会话的实际工作方式 首先,当您启动会话时,它将在您的服务器中创建一个具有随机文件名和随机序列号(会话id)的文件,并将其存储在您的浏览器中 其次,当您使用$\u SESSON向会话中添加/编辑值时,将根据从浏览器cookie文件中获取的会话id进行更改。您可以说会话id用作浏览器和服务器会话文件之间的引用 因此,如果您不提供作为cookie保留的会话id,就不可能对会话进行黑客攻击 因此,“黑客”可以不只是找到一个不可用的用户名,然后编写一个PHP脚本在浏览器中设置$_会话[“username”]。然后导航到.index.php页面并登录到其他用户帐户 如果一个黑客可以编写将在你的服务器上运行的代码,那么是的,这是完全可能的 然而,如果他们能把代码放到你的服务器上,他们可以做任何事情。在那一点上你完全被套住了。(会话安全性是您最不担心的) 所以问题来了,除了代码注入攻击,它安全吗 那么,让我们看看可能的攻击向量:
session\u regenate\u id()
)可能是最合适的,并且在代码审查和/或安全交换上得到更好的响应。好的,谢谢,我也在那里发布了。好的,很酷,那么你是说这种方法足够安全吗?不客气。你会从他和他的博客中学到很多。这里有更多关于会话劫持的内容,谢谢你的回复,回答得很好!我现在了解了$u会话的工作原理,非常感谢!我只是想在给出的另一个答案下对此发表评论。你的回答节省了我的时间。