Maison > développement back-end > tutoriel php > PHP怎么实现域名授权

PHP怎么实现域名授权

PHPz
Libérer: 2020-09-04 18:11:52
original
3234 Les gens l'ont consulté

PHP实现域名授权的方法:首先获取不带端口号的域名前缀;然后获取服务端授权文件校验;接着在服务端代码文件中通过“$_GET”获取域名;最后授权域名列表并检验结果即可。

PHP怎么实现域名授权

PHP怎么实现域名授权?

01. 在线校验域名授权的方法:

客户端代码:

<?php
//获取不带端口号的域名前缀
$servername = trim($_SERVER[&#39;SERVER_NAME&#39;]);
//获取服务端授权文件校验
$verifyurl = file_get_contents(&#39;http://www.toyean.com/zb_users/upload/copyright.php?domain=&#39;.$servername);
if(!empty($verifyurl)){
echo "已授权!";    //授权成功
}else{
die("未授权!");    //授权失败
}
?>
Copier après la connexion

服务端代码:

<?php
//获取域名
$domain = $_GET[&#39;domain&#39;];
//授权域名列表
$Array = array(&#39;127.0.0.1&#39;,&#39;localhost&#39;);
//校验结果
echo in_array($domain, $Array) ? &#39;yes&#39; : &#39;&#39;;
?>
Copier après la connexion

域名授权代码可封装进函数,或者进行加密,对于常用的PHP加密形式,都有其破解的方法,比如ZendGuard、ionCube等,如果授权的域名较多,可以在项目中增加域名字段,将域名写入数据库再进行读取和校验,此方法我们已发布成独立的插件,详见:ZBlogPHP域名授权插件-AllowURL, 通过插件可以将域名等信息添加到数据库中进行校验。

02. 独立校验域名授权的方法:

<?php
function allow_domain(){
$is_allow=false;
//获取不带端口号的域名前缀
$servername=trim($_SERVER[&#39;SERVER_NAME&#39;]);
//授权域名列表
$Array=array("localhost","127.0.0.1");
//遍历数组
foreach($Array as $value){
$value=trim($value);
$domain=explode($value,$servername);
if(count($domain)>1){
$is_allow=true;
break;
}
}
if(!$is_allow){
die("域名未授权!");    //授权失败
}else{
echo "域名已授权!";    //授权成功
}
}
allow_domain();
?>
Copier après la connexion

域名授权的目的在于保护知识产权,鼓励开发者能够发布更多优秀的作品,推动整个网络社会的文化发展与科技进步,有着十分重要的意义。

更多相关技术文章,请访问PHP中文网

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal