如果我的网站具有登录和会话管理功能,并且页面使用ajax将表单数据发送到服务器端。
如何保护任何人不仅仅是保存HTML和JavaScripts,从而完全绕过登录和会话管理?
您是否在成功登录时生成令牌,并将其与JSON字符串一起发送,以便服务器端脚本可以对此进行检查?
如果是的话,是否存在我可以使用的解决方案,所以我不必自己编写?
我对Djando和ROR解决方案感兴趣,因为我现在正在尝试这两种解决方案。
答案 0 :(得分:2)
您创建一个令牌并将其保存在cookie上。然后检查每个地方的cookie。包括你所有的ajax页面。当您执行ajax请求时,也会发送cookie。这是我能想到的唯一安全选择。您始终必须检查后端中的令牌,如果未经授权则拒绝。
答案 1 :(得分:2)
您应该在服务器上实现登录。 AJAX请求与常规请求存在于同一会话中,因此如果有人登录,他们也会登录AJAX请求。如果用户未登录,您也可以检查此AJAX请求。检查服务器上是否有用户登录,如果没有则返回错误代码。
服务器不应该依赖客户端告诉它是否有人登录。唯一用于此的客户端数据是会话令牌,如果您想要更安全,则与IP地址结合使用。
答案 2 :(得分:0)
使用服务器端会话cookie http://php.net/manual/en/reserved.variables.session.php
答案 3 :(得分:0)
将一个before_filter添加到应用程序控制器,验证用户是否已登录:
before_filter:login_required
def login_required 除非current_user 重定向到登录页面 端