我使用共享主机托管我的网站,但文件时不时会出问题。首先,我的一个文件 (php) 缺少一部分代码(与黑客无关,只是缺少一段随机代码),然后过了一段时间,mysql 表中的一个值也缺少一部分,然后整个表列都消失了,之后我网站上的整个文件都消失了,最后文件中的某些代码又消失了,我的主机服务说这与他们无关,但这太愚蠢了,怎么会发生这种事,黑客攻击不可能造成这样的事情,我相信这是某种磁盘损坏或备份错误。
有人有主意吗?
答案1
实际上你说的情况是有可能的。这可能是你代码中的安全漏洞。你清理过用户输入吗?你知道跨站点脚本、SQL 注入攻击吗?
如果你的代码有问题
删除文件可能是因为代码注入。 http://en.wikipedia.org/wiki/Code_injection
MySQL 数据删除可能归因于 SQL 注入攻击。
要了解有关攻击以及如何预防的更多信息,请访问http://www.owasp.org
答案2
根据共享主机的设置,他们可能会设置服务器,允许其他用户编辑您的文件。这很难证明,但请查看文件的所有者/权限。如果文件归您所有,您可以尝试对其使用 chmod 755。这应该可以防止其他用户编辑它们。
如果它们不属于您,我建议您向托管服务提供商询问,但如果他们不愿意保护机器,您可能必须寻找新的主机。
答案3
就我个人而言,我一般不推荐使用共享主机,因为它们容易出现一系列问题,首先就是“主机上的其他网站”问题,
您可能与大约 20 个其他客户端共享服务器,在这种情况下,如果服务器设置不正确(甚至在某些情况下设置正确),无论您采取什么措施来确保代码的安全,它的安全性都只与代码上的所有其他内容一样安全,我曾见过一个网站以这种方式在没有自身过错的情况下受到损害。
- 你能在本地复制这个吗?
如果没有时间考虑其他主机,我建议使用 VPS 提供商,例如 linode,或者如果您想使用“云”,那么有 EC2、cloudhosts、rackspace 等...