使网页只能从特定程序访问


Make a Web page only accessible from a specific program

所以我的问题很简单:我有一个托管的PHP网站,我正在构建一个程序,窗口中有一个Web浏览器来打开里面的网站。有没有办法使网站只能从此程序访问?我的意思是,如果有人从另一个浏览器(chrome,opera...)打开它,它将无法打开。非常感谢,感谢您的帮助<</p>

div class="answers">

我的意思是这样...

注意:跳过对传入数据的任何验证和清理

应用端示例(使用哪种语言无关紧要):

<?php
define('SECURE_SALT', '123456');
$t = microtime(true);
$c = curl_init();
$o = array(
    CURLOPT_URL => 'http://my.awesome.site',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => array('MY-SUPER-APP: '.md5(SECURE_SALT.$t).':'.$t,
);
$r = curl_exec($c);
print_r($r);

甚至像这样:

curl -H 'MY-SUPER-APP: 1dcf5ccf8a97d2ffbbacb7bc9e23d0b4:1455130639.1448' http://my.awesome.site

服务器端示例:

<?php
define('SECURE_SALT', '123456');
define('CHECK_DIFF', 600); // seconds
$now = microtime(true);
$head = $_SERVER['HTTP_MY_SUPER_APP'];
list($hash, $time) = explode(':',$head);
$checkHash = md5(SECURE_SALT.$time);
if (($now - $time) < CHECK_DIFF) {
    if ($hash == $checkHash) {
        // hooray.. our application detected
        // ...
    }
}

我认为您可以尝试为您的应用程序创建自定义用户代理字符串,然后,如果请求的用户代理与您的应用程序用户代理相同,请在您的 PHP 代码上检查它。

这是我的做法:我创建了一个带有奇怪链接的孤儿网页(例如:booboo123_99999.yoursite.com/setitweird444444444.php ),所以除了你之外没有人会知道这个链接。您还可以停用从应用程序浏览器显示源代码的功能。