保护PHP Web服务调用

时间:2011-12-09 17:24:37

标签: php apache security

我正在开发一个调用.PHP脚本的网站,将数据注入MySQL数据库。

由于这些.PHP脚本没有安全性,如果他们知道正确的参数名称并将数据注入我们的数据库,那么世界上任何人都可以通过网络运行它们。

我对安全性知之甚少,所以我正在寻找一种解决方案来保护这些“网络服务”。

我已经读过使用SSL可能是要走的路,但我不确定。

如果有人可以提出建议并指导我如何实施这个教程或网站,我将非常感激。

如果重要的话,我们正在使用Apache Web服务器。

1 个答案:

答案 0 :(得分:2)

SSL本身无法解决问题。如果有人可以点击http://yoursite.com/service.php,他们也可以点击https://yoursite.com/service.php。 SSL简单确保通过线路的实际数据被加密。但是加密的注入请求与标准的未加密注入请求具有相同的效果 - 您仍然会将数据注入数据库。

您需要的是某种密码系统。一个简单的最小系统需要一个秘密字与每个请求一起发送,任何没有该字的请求都会被拒绝/忽略。然而,你必须保密这个秘密词,网上没有任何东西保密很长时间。

接下来是为您服务的每个授权用户分配一个特定密钥。没有什么可以阻止用户与他人共享密钥,但是你有一个每用户密钥,你可以追踪并殴打DID共享密钥的人。

过去,您可以使用HTTP级别身份验证,再加上每用户访问密钥,这可以防止在API上随意戳。如果没有http级别的密码,甚至不会调用API脚本,即使是这样,也必须存在正确的API密钥。