VIV*_*NWO 10 php protection spam
我有一个站点,用户使用AJAX将消息提交给一个名为的文件like.php.在此文件中,用户消息将提交给数据库,然后将链接发送回用户.在我的Javascript代码中,我禁用了用户在提交AJAX请求时键入的文本框.
唯一的问题是,恶意用户可以不断向like.php我的数据库发送POST请求并泛洪.所以我想实施简单的防洪保护.
我真的不想要另一个数据库表记录用户IP等等的麻烦......好像他们充斥着我的网站会有很多数据库读/写速度慢下来.我想过使用会话,比如有一个包含每次发送数据时都会检查的时间戳的会话,like.php如果当前时间在时间戳之前让他们将数据添加到数据库,否则发出错误并阻止它们.如果允许他们在数据库中输入内容,请使用新的时间戳更新其会话.
你怎么看?这是最好的解决方法还是更容易的选择?
谢谢你的帮助.:)
会话是最容易实现的,并且开销也最小.您可以两位数据存储在会话中,最后发表的帖子的时间戳,以及后从与正在添加的IP.这是你如何检查合法性:
session_start();
if(isset($_SESSION['ip']) && $_SESSION['last_post'] + MININTERVAL < time()) die('too early');
$_SESSION['last_post'] = time();
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
// store the message
Run Code Online (Sandbox Code Playgroud)
使用令牌.您生成令牌并将其添加到发起请求的页面.在like.php您验证请求是否包含有效令牌,这意味着它来自您的页面而不是外部直接POST.
| 归档时间: |
|
| 查看次数: |
12437 次 |
| 最近记录: |