Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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
Php 为安全起见,在MySQL查询中添加延迟或暂停_Php_Mysql_Security - Fatal编程技术网

Php 为安全起见,在MySQL查询中添加延迟或暂停

Php 为安全起见,在MySQL查询中添加延迟或暂停,php,mysql,security,Php,Mysql,Security,我一直在阅读防止暴力袭击的安全措施。我特别关注通过PHP查询我的MySQL数据库 有没有办法通过PHP或MySQL在MySQL查询中添加几秒钟的暂停?这将限制黑客使用暴力的次数 作为参考,我在这里找到了这个想法-我不知道MySQL方面有什么,但是从PHP脚本中,您可以使用sleep或usleep函数暂停脚本的执行 睡眠将暂停规定的秒数 usleep将暂停定义的微秒数。这会给你一个更精确的延迟级别,所以我会用这个来代替 因此,usleep更合适,所以你可以这样做 // your php code

我一直在阅读防止暴力袭击的安全措施。我特别关注通过PHP查询我的MySQL数据库

有没有办法通过PHP或MySQL在MySQL查询中添加几秒钟的暂停?这将限制黑客使用暴力的次数


作为参考,我在这里找到了这个想法-

我不知道MySQL方面有什么,但是从PHP脚本中,您可以使用sleep或usleep函数暂停脚本的执行

睡眠将暂停规定的秒数

usleep将暂停定义的微秒数。这会给你一个更精确的延迟级别,所以我会用这个来代替

因此,usleep更合适,所以你可以这样做

// your php code here
// then wait for 1.1 second
usleep(1001000);
// then do your SQL stuff

不过,我要提醒大家使用这个。用户体验将因此受到影响,因为您的页面响应速度会变慢。可能有一个函数,只有当您看到流量出现异常峰值或来自一个源的大量流量时,才会使用延迟。

您可以使用PHP函数来完成此操作。当然,您只想在身份验证失败的情况下执行此操作。

您可以像另一个用户所说的那样执行usleep或sleep,但这不是此安全措施的实现方式。实际上,这些函数对于这种安全模型是无用的。您想要的是在登录函数中添加一个逻辑层,用于检查给定用户的登录次数或某个时间段。延迟脚本的执行毫无意义,因为新请求将启动另一个php脚本。检查来自该IP的上次登录尝试的时间戳或记录尝试次数,如果确定存在风险,则在接下来的24小时左右阻止来自该IP的请求。

如果暴力是一个问题,请使用类似Captcha的验证码。你不必马上提示他们,就像gmail一样,你可以等到他们产生足够的“热量”。您可以将热量存储在数据库中,并将其寻址到
$\u服务器['REMOTE\u ADDR']
$\u SESSION
的使用会很弱,因为攻击者只需抓取一个新的会话id即可。

我怀疑几秒钟的时间会有很大的不同,除非延迟增加到查询SQL的多少倍?可能是