用$确保用户登录系统的安全
我希望有人能帮助我,我正在创建一个PHP Web应用程序,它需要用户登录才能查看mysql数据库中的数据。
我只想知道这是否是一种好方法,足够安全吗? 我知道PHP脚本中没有什么是安全的,但我需要这个相当安全的。
所以这就是我正在一步一步做的事情,如果你能指出我正确的方向,并告诉我什么是错的,那将是伟大的!
如果确定,我存储$ SESSION [“username”]; (有用户名)到会话。
在每次请求/页面加载时,我都有一个函数(见下文)来检查会话。
函数check_session_valid(){if(!isset($ _ SESSION ['username'])|| $ _SESSION ['username'] ==“”){header(“Location:/login.php”); }}
现在是安全的还是我这样做完全错了?
这就是我认为用户可以做的“破解”应用程序:
在注册页面上,当用户输入用户名时,会让用户知道用户名是否可用。
因此,“黑客”不仅可以找到一个不可用的用户名,然后编写一个PHP脚本在浏览器中设置$ _SESSION [“用户名”]。 然后导航到.index.php页面并登录到其他用户帐户?
我也使用“session_start();” 在我之前“check_session_valid();” 对每一个请求,这是错的?
希望你们中的一些PHP专家可以帮助我在这里!
谢谢
我已阅读你的文章。 你曾经说过,“PHP脚本中没有任何东西是安全的”真的让我震惊。 让我试着回答你的问题。
你曾经说过,如果黑客在浏览器中创建一个cookie,他们可以破解我的会话吗? 我的回答是否定的。 让我们学习实际会话的工作原理。
首先,当你开始会话的时候,它会在你的服务器上创建一个随机文件名和一个随机序列号(session_id)的文件,它将存储在你的浏览器中。
其次,当您使用$ _SESSON将值添加/编辑到会话中时,然后根据从浏览器cookie获取的session_id将其更改为文件。 你可以说会话ID工作作为你的浏览器和你的服务器会话文件之间的参考。
因此,如果您不提供黑客session_id,并保留为cookie,则不存在会话黑客攻击的可能性。
链接地址: http://www.djcxy.com/p/60237.html