所以我的问题很简单:我有一个托管的PHP网站,我在窗口上用网页浏览器构建一个程序来打开里面的网站。 有没有办法让网站只能通过这个程序访问?我的意思是,如果有人从另一个浏览器(chrome,opera ......)打开它,它将无法打开。 非常感谢,感谢您的帮助
答案 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
),所以没有人会知道你的链接。您也可以取消激活从应用程序浏览器显示源代码。