Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何安全登录用户_Sql_Security_Session_Login - Fatal编程技术网

Sql 如何安全登录用户

Sql 如何安全登录用户,sql,security,session,login,Sql,Security,Session,Login,我只是想问一下,我是否做得对,或者在我朝这个方向前进之前停下来是否更好。我的网站上有一个管理区,我想使用数据库中的一个表来管理登录 当用户正确登录时,我会在sql表中写入用户名、会话id和从REMOTE_ADDR服务器变量获得的IP 当用户要求一个需要登录的私人页面时,我会在我的表中查找用户名,并按IP和会话ID进行过滤,这会返回当前用户的用户,例如在我的管理区域中询问“prices.aspx”页面 然后,我已在30分钟后将保存的记录删除。这够安全吗?这是让我的网站暴露于黑客攻击的好方法吗?如何

我只是想问一下,我是否做得对,或者在我朝这个方向前进之前停下来是否更好。我的网站上有一个管理区,我想使用数据库中的一个表来管理登录

当用户正确登录时,我会在sql表中写入用户名、会话id和从REMOTE_ADDR服务器变量获得的IP

当用户要求一个需要登录的私人页面时,我会在我的表中查找用户名,并按IP和会话ID进行过滤,这会返回当前用户的用户,例如在我的管理区域中询问“prices.aspx”页面


然后,我已在30分钟后将保存的记录删除。这够安全吗?这是让我的网站暴露于黑客攻击的好方法吗?如何提高安全性?

如果您的站点可能被黑客攻击,那么您的登录系统如何工作并不重要。是什么阻止黑客获取你的数据

  • 加密传输
  • 不要在前端代码中显示数据库名称、文件名和密码
  • 2步验证登录到您的网站和数据库
会员登录或某人登录授权页面的基本原则也不例外

是否在记录保存30分钟后删除它完全无关紧要。如果黑客可以访问该数据,那么以不安全的方式保存该数据1秒就太长了。如果您希望用户会话在30分钟后超时,那么仅仅删除数据库记录无法实现这一点。那么,对于你的问题,“它足够安全吗?”。不,不是

如果您的常规成员登录是安全的,那么您所需要做的就是在用户信息数据库中有一个字段,该字段指示用户是否有权查看某些页面


当你的网站第一次加载时,除非有人要求,否则永远不要加载管理员页面,然后让用户第二次给出他们的密码。如果登录的用户没有权限查看管理页面,那么甚至不要加载允许用户请求管理页面的HTML。

如果不需要,不要重新发明轮子。实施
成员资格提供程序
()或者在ASP.NET中使用默认值-我假设您正在使用默认值。请显示一些代码,我们将能够更好地提供帮助。@哎呀,在ASP.NET中使用默认值是什么意思?这在理论上听起来不错,但在实践中仍然可能会失败。@Gumbo是REMOTE\u ADDR正确使用的服务器变量吗?您好,我在每次限制区域页面调用中都会检查databaase的IP/会话,基本上我也在按照您所说的那样做,如果未经授权,也不会加载管理页面,我有一个字段来告诉您使用的访问级别。如果找不到IP和会话,或者找到的访问级别与请求的不同,则不会加载页面。然而,“两步验证登录到您的网站和数据库”是什么意思?听起来不错。一些公司提供通过文本、语音通话或移动应用程序向您的手机发送登录验证码的选项。您输入密码,然后等待验证码,然后输入验证码。因此,即使黑客猜到了正确的密码,他们也不能在没有验证码的情况下登录。在这种情况下,我们不再需要密码,它将作为互联网银行pin设备工作。