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

时间:2016-02-10 17:54:50

标签: php web

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

3 个答案:

答案 0 :(得分:0)

我的意思是那样......

通知:已跳过任何传入数据的验证和清理

  

应用程序端示例(与您使用的语言无关):

<?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
        // ...
    }
}

答案 1 :(得分:-1)

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

答案 2 :(得分:-2)

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