我写了一个简单的 PHP 脚本来登录我的手机提供商的网站,检查我的余额,如果余额太低,给我发一封电子邮件。我将脚本放在远程服务器上。
看来我必须将我的密码作为明文存储在脚本中,才能将其发送到登录页面。但是,我有点不愿意这样做......
$user="foo";
$password="blah";
有没有更安全的方法?
我写了一个简单的 PHP 脚本来登录我的手机提供商的网站,检查我的余额,如果余额太低,给我发一封电子邮件。我将脚本放在远程服务器上。
看来我必须将我的密码作为明文存储在脚本中,才能将其发送到登录页面。但是,我有点不愿意这样做......
$user="foo";
$password="blah";
有没有更安全的方法?
如果有人可以访问源,您无法保护能够自动登录的系统。让我们试着证明它。
System Smart无需您执行任何操作即可登录。Mr. Evil可以访问System Smart.System Smart知道如何以您的身份登录。(从第一点开始。)Mr. Evil知道什么Systems Smart知道。(从第二点开始。)Mr. Evil知道如何以您的身份登录。(从第三点和第四点开始。)结论:这种情况并不安全。
如果您从场景是安全的假设开始,这就是矛盾的证明。
更新:但是如果你想让它比纯文本更难,那么可以使用对称密钥。
有一些方法可以混淆它,但如果有人可以访问该文件,最终这些方法都比纯文本更安全 - 因为您还需要在那里对其进行解码才能登录提供商的网站。
该脚本能够让您在无人看管的情况下登录您的提供商。
这意味着任何控制脚本的人也将拥有此功能,可通过运行脚本来使用。
您无能为力,无法阻止这一点。唯一的解决方案是要么忍受密码的潜在泄露,要么只将脚本放在您控制的服务器上。
如果你想过度使用它,你可以设置它,将你的密码存储在使用加密的 mysql 数据库中aes_encrpyt,然后在另一台服务器上创建另一个脚本,使用你的密码调用服务器,请求密码提供用于该aes_decrypt功能的盐。