保护PHP脚本免受未经授权的访问

时间:2014-04-10 23:09:27

标签: php ms-access nginx

我目前正在开发一组PHP脚本,这些脚本充当私有API,仅供某些授权机器使用。 这些脚本直接与MySQL数据库连接,因此我必须确保没有公共的未经授权的访问,例如使脚本成功运行,这是可能的。

我一直在考虑不同的选择,但我决定来这里寻求一些不同的意见。

我正在使用nginx。

API在外部由C#程序(使用WebClient)和其他一些服务器使用,这些服务器可能会更改,因此我避免使用基于IP的方法。

我正在考虑传递一个"键"通过邮寄参数来检查匹配

if($_POST['key'] == 'key')

可能有更好的选择,您的想法是什么?

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我通常使用你写的关键方法,但我绝对相信深度防御方法。所以我会添加一些服务器级保护,检查出nginx访问控制方法。也许是这样的:

否认:全部 允许IP:127.0.0.1

答案 2 :(得分:0)

我会使用公钥/私钥验证,或者为每个客户端使用用户名和密码/ api密钥。只有其他选项IMO才会使用LDAP或其他目录身份验证,这在大多数情况下可能并不理想。

答案 3 :(得分:0)

您可以使用基本的HTTP身份验证,但此方法不是100%安全,很容易受到中间人攻击

http://www.php.net/manual/en/features.http-auth.php

http://evertpot.com/223/