Ruby on rails 使用我的身份验证阻止其他用户访问Rails应用程序
我主持了一个rails应用程序,一个在线考试系统。用户需要注册才能访问系统。因此,将为每个用户提供唯一的凭据组合。假设我的Ruby on rails 使用我的身份验证阻止其他用户访问Rails应用程序,ruby-on-rails,web-applications,authorization,login-control,Ruby On Rails,Web Applications,Authorization,Login Control,我主持了一个rails应用程序,一个在线考试系统。用户需要注册才能访问系统。因此,将为每个用户提供唯一的凭据组合。假设我的用户名/密码是demo/demo123。我希望我的应用程序阻止其他人登录系统,即使他知道我的凭据。这种情况下的任何解决方案 感谢您的帮助:)-您可以在用户首次登录时将其IP地址记录在数据库中,并且只允许使用相同的凭据登录,但在等待一段时间(例如1小时)后或直到当前检查完成后,才允许从新的IP地址登录。这将防止多个用户在短时间内登录到同一用户帐户 用户的IP地址可以使用请求在R
用户名/密码
是demo/demo123
。我希望我的应用程序阻止其他人登录系统,即使他知道我的凭据。这种情况下的任何解决方案
感谢您的帮助:)-您可以在用户首次登录时将其IP地址记录在数据库中,并且只允许使用相同的凭据登录,但在等待一段时间(例如1小时)后或直到当前检查完成后,才允许从新的IP地址登录。这将防止多个用户在短时间内登录到同一用户帐户
用户的IP地址可以使用
请求在Rails控制器中访问。远程IP
您可以在用户首次登录时在数据库中记录用户的IP地址,并且只允许使用相同的凭据登录,但在等待一段时间(例如1小时)后从新的IP地址登录,或者直到当前检查完成。这将防止多个用户在短时间内登录到同一用户帐户
用户的IP地址可以通过请求在Rails控制器中访问。远程IP可以使用gem向整个应用程序添加密码
首先,添加到您的文件中
gem 'lock'
然后
接下来,创建您的密码
rails g lock:create_password_file yourpasswordhere
最后,将锁添加到应用程序控制器或任何您想要的(请参阅)
ApplicationController
您可以使用gem向整个应用程序添加密码
首先,添加到您的文件中
gem 'lock'
然后
接下来,创建您的密码
rails g lock:create_password_file yourpasswordhere
最后,将锁添加到应用程序控制器或任何您想要的(请参阅)
ApplicationController
使用Cookie将是一个更好的解决方案。用户注册后,以加密格式(出于安全原因)创建特定于用户和系统的Cookie值,并将其保存在与该用户对应的数据库中。登录时检查此Cookie令牌。当用户清除cookie时,可以请求管理员清除DB cookie以创建新的cookie
使用IP并不是更好的解决方案,因为在网络中,可以将动态IP分配给PC。使用Cookie将是更好的解决方案。用户注册后,以加密格式(出于安全原因)创建特定于用户和系统的Cookie值,并将其保存在与该用户对应的数据库中。登录时检查此Cookie令牌。当用户清除cookie时,可以请求管理员清除DB cookie以创建新的cookie
使用IP并不是更好的解决方案,因为在网络中,可以将动态IP分配给PC。请理解问题,然后回答。抱歉,我不理解@Rajesh。它确实“阻止其他人登录系统,即使他知道我的凭据。”我不想锁定我的应用程序。我想阻止其他人使用我的凭据登录。因此,如果其他人有自己的凭据,他们就可以登录到应用程序。希望你明白了。请理解问题,然后回答。对不起,我不明白@Rajesh。它确实“阻止其他人登录系统,即使他知道我的凭据。”我不想锁定我的应用程序。我想阻止其他人使用我的凭据登录。因此,如果其他人有自己的凭据,他们就可以登录到应用程序。希望你明白了。这在使用动态ip时不会造成其他困难吗?但是,您可以检查用户是否已经登录,或者在登录字段中添加额外的密码短语。这在使用动态ip时不会导致其他困难吗?但是,您可以检查用户是否已登录,或在登录字段中添加额外的密码短语。但动态分配IP并不意味着不安全,因为将通过DHCP服务器为每台计算机分配唯一的IP。如果你试图阻止一个人在考试中与另一个人合作,他们难道不能读取浏览器cookie并将其发送给其他人吗?这似乎是一个潜在的安全漏洞,而IP更难伪造。但动态分配IP并不意味着它不安全,因为唯一的IP将通过DHCP服务器分配给每台机器。如果你试图阻止一个人在考试中与另一个人合作,他们难道不能读取浏览器cookie并将其发送给其他人吗?这似乎是一个潜在的安全漏洞,而IP更难伪造。