Php 如何在紧急情况下阻止所有用户访问站点?

Php 如何在紧急情况下阻止所有用户访问站点?,php,mysql,security,Php,Mysql,Security,我正在用PHP+Mysql开发一个游戏,它托管在一个共享的web主机中 我非常关心安全问题,因为在游戏中,一些人试图作弊或破坏游戏是很常见的 到目前为止,我已经测试了XSS、SQL注入、检查文件夹权限、安全密码等等。。。但是,我知道我的局限性,我想做好准备,以防意外发生(我不知道,可能是一些我不知道的技术,或者是我错过的检查,一个猜测的密码…) 如果我意识到这一点,我认为我的第一个行动应该是阻止所有用户的访问,隔离网站,然后检查和修复错误。(这只是一个免费的游戏,我想我能承受得起这次停机时间)。

我正在用PHP+Mysql开发一个游戏,它托管在一个共享的web主机中

我非常关心安全问题,因为在游戏中,一些人试图作弊或破坏游戏是很常见的

到目前为止,我已经测试了XSS、SQL注入、检查文件夹权限、安全密码等等。。。但是,我知道我的局限性,我想做好准备,以防意外发生(我不知道,可能是一些我不知道的技术,或者是我错过的检查,一个猜测的密码…)


如果我意识到这一点,我认为我的第一个行动应该是阻止所有用户的访问,隔离网站,然后检查和修复错误。(这只是一个免费的游戏,我想我能承受得起这次停机时间)。如何执行此操作?

停止web服务器。将其配置为仅侦听
127.0.0.1
(它通常侦听
0.0.0
,这意味着它接受来自每个人的连接)并启动它。这样,只能从web服务器的主机访问游戏。

您可以在web服务器的根目录中创建.htaccess文件,其中包含以下内容:

Order Deny,Allow
Deny from all
Allow from 192.168.1.1 -- here is your IP

它将阻止除上述IP之外的所有请求

我想说的是有一个
.htaccess
文件准备就绪,但不在适当的位置,如果您将所有请求放入web目录,它会将所有请求重定向到类似
mydomain.com/downformainance.php

的位置。最简单的方法是告诉您的web服务器不再为此站点提供任何内容。使用Apache,您可以通过.htaccess文件实现这一点:

Order Deny,Allow
Deny from all
第二种方法是在你的网站上实现它。例如,在调度脚本中,首先检查文件是否存在,然后简单地退出:

if(file_exists(__DIR__ . '/close_it')) {
  exit;
}

HTH

这实际上是一个服务器配置问题。属于服务器故障。问题是这是一个典型的共享web主机。我无法阻止它。更好的解决方案是在Web服务器配置中指定一个自动前置-这允许您具有选择性/响应性,例如限制对非静态内容的访问,重定向到静态抱歉页面以查找被阻止的内容。。。