如何在紧急情况下阻止来自站点的所有用户?

时间:2011-07-21 06:36:21

标签: php mysql security

我正在开发一个用于共享虚拟主机托管的PHP + Mysql游戏。

我非常担心安全问题,因为在游戏中很常见,有些人试图欺骗或打破游戏。

到目前为止,我已经测试了XSS,SQL注入,检查文件夹的权限,安全密码......但是,我知道我的局限性,我想做好准备,以防出现意外情况(我不知道,也许是一些我不知道的技术,或者我想念的支票,一个猜到的密码......)

如果我意识到其中一些,我认为应该阻止对所有用户的访问的第一个操作,隔离网站,然后检查并修复错误。 (这只是一款免费游戏,我想我可以承受这个停机时间)。我怎么能这样做?

4 个答案:

答案 0 :(得分:3)

您可以在网络服务器的根目录中创建.htaccess文件,内容为:

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

除了提到的IP

之外,它将阻止所有请求

答案 1 :(得分:0)

停止Web服务器。将其配置为仅在127.0.0.1上侦听(它通常侦听0.0.0.0,这意味着它接受来自所有人的连接)并启动它。这样,游戏只能从网络服务器的主机访问。

答案 2 :(得分:0)

我会说准备好.htaccess文件,但如果放入您的网络目录,它会将所有请求重定向到mydomain.com/downformaintenance.php

之类的文件。

答案 3 :(得分:0)

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

Order Deny,Allow
Deny from all

第二种方式是将其实施到您的网站中。例如。在您的调度脚本中,首先检查文件是否存在然后退出:

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

HTH