我的网站遭到暴力攻击,攻击者试图访问用户帐户。机器人没有用户代理。我有一个系统阻止一个人在10分钟内超过每次帐户3次尝试登录。
我还检查了用户代理,如果没有,请退出。
我的问题是:会话是否仅存储在浏览器中?我在想的是他们正在使用通过命令行执行的脚本。
我也实现了这个:
if(!isset($_COOKIE[ini_get('session.name')])) {
header("HTTP/1.0 404 Not Found");
exit;
}
我还能做些什么来阻止这些攻击吗?
答案 0 :(得分:16)
会话变量的内容存储在服务器上,但会话由会话ID标识,会话ID存储在客户端并随每个请求一起发送。通常会话ID存储在cookie中,但也可以附加到URL的。
在Wiki上的session hijacking上有一个非常有趣的读物,在PHP Security Consortium有一个有趣的读物,可以让你更好地了解劫持是什么以及如何防止它。
有很多方法可以帮助防止这些攻击,我已经指出了三个: