用$确保用户登录系统的安全

我希望有人能帮助我,我正在创建一个PHP Web应用程序,它需要用户登录才能查看mysql数据库中的数据。

我只想知道这是否是一种好方法,足够安全吗? 我知道PHP脚本中没有什么是安全的,但我需要这个相当安全的。

所以这就是我正在一步一步做的事情,如果你能指出我正确的方向,并告诉我什么是错的,那将是伟大的!

  • 用户使用用户和密码登录。
  • 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

    上一篇: Making User Login System Secure with $

    下一篇: SESSION) Not Working on Remote Server