保护对远程php脚本的调用

>我在服务器上有一个更新数据库PHP脚本.
>我希望能够从另一台服务器或远程调用远程调用此脚本
我的localhost PC使用GET,或使用AJAX从浏览器,
>但我不希望任何人能够调用此脚本,除非
允许.

到目前为止,我只是在脚本中添加了一段代码来验证GET中的某个引脚,即

//myscript.PHP

if( isset($_GET['pin']) && $_GET['pin'] === '1234' )
{
   //update the DB...

通过这种方式,远程呼叫者必须知道引脚,即

file_get_contents(http://remoteserver.com/myscrip.PHP?pin=1234); //will work
file_get_contents(http://remoteserver.com/myscrip.PHP?pin=5678); //will NOT work

这看起来很简单,我想知道它是否安全.

什么是其他可能更安全的替代品(可能不是太复杂)?

例如,我读到了使用随时间变化的散列,但它是否值得,它怎么可能呢?

解决方法:

您可以使用密码保护文件夹(如果您使用的是cpanel或plesk,可以轻松完成)并使用curl访问该URL.

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...