$authorized = unserialize(@file_get_contents('./api_pkvod.db')); // 這里你需要改成是記錄允許訪問的domain記錄
$domain = $_SERVER['HTTP_HOST'];
if(!in_array($domain,$authorized)) exit($domain.' No Authorized');
解决方案 »
- 如何在Cakephp中,使Views下的文件同时支持html和ctp两种文件?
- 小弟初学PHP。。。。。问下表单的提交问题
- php如何显示数据库中的图片和文字?
- WordPress中,初始画面怎么是他不显示首页?
- 请问这段代码是递归吗?帮忙解释一下
- 百度HI邀请码发放!
- 初学者问题~~~~~~~ 求助!
- php网页编码如何才能设成unicode?
- 这是什么错误呀~~~~~~!!!!!!!各位帮忙看看!!!!!
- 请问为什么我的程序中的session_start()语句总是会报“Cannot send session cache limiter - headers already sent ”。
- 我发现一个站 怎么调 都没法保存生成cookie文件,求大神指点
- 你们的登录功能一般都是怎么写的?
$domain = $_SERVER['HTTP_HOST'];
if(!in_array($domain,$authorized)) exit($domain.' No Authorized');
我用http://localhost/test.php 访问,输出 localhost No Authorized
很正常啊。
客户端是没有域名的你要的应该是链接的来源
那么就是 $_SERVER['HTTP_REFERER'] 了
但这个玩意是可以伪造的,并不十分可靠
既然你有 授权 一说,那么就应该使用证书或通行证
其实授权和用户登录是一回事情,只不过前者用程序完成后者由手工完成
比如你向用户提供一组 API,那么你可要求用户首先带身份执行一个登录方法,该方法返回一个通行字(比如一个MD5串)。在调用其他方法时,都要带上这个通行字就可以了