求PHP程序域名限制使用加密代码
发布网友
发布时间:2022-05-08 15:46
我来回答
共4个回答
热心网友
时间:2022-04-22 09:31
你想使用的不怎么靠谱。如果是PHP熟的一眼就能破了或者改写。另外支持网址ascii码不知道你说的是什么意思。。。是指://-之类的符号不
通常php手工加密程序主要有2种:
1 是如果你的网站开了exec,eval之类的(普通的虚拟主机就别想了,一般独立或者vps才会给你这权限)可以使用base64或者自己的加解密算法来加密程序语句,再执行这个语句。
比如 if (1 ==1){echo 'wrong'} 这句,
你执行 echo $str=base64_encode ("if (1== 1){echo 'wrong'} ") ;
可以得到加密后的语句,这个加密后的程序你可以贴到程序里了。
把这个加密后的语句 eval(base64_decode($str)); 就可以执行
第二种比较绝,可以满足你域名*的要求。是通过include和require远程调用(你可以搜索一下。我以前看书看过设置好环境之后,require等可以引用其他服务器上的php文件)
php官方手册上是这么说的:只要在 php.ini 文件中激活了 allow_url_fopen 选项,就可以在大多数需要用文件名作为参数的函数中使用 HTTP 和 FTP 的 URL 来代替文件名。同时,也可以在 include、include_once、require 及 require_once 语句中使用 URL。
而手册上include函数里进一步阐述:远程调用文件实际上是请求第三方服务器一个php文件。如果这个服务器本身也能执行php,返回的实际上是php执行后的文本串文件。请求的服务器接收到这个文本串,会把它当php程序解析。
那么利用这一点,你可以在另外一个服务器上设置一个php文件,判断请求的网址是否是你允许的,也就是买了你的程序的网站域名。如果允许就把这一关键php程序代码返回给请求服务器,让请求服务器执行相关程序。
比如客户网站程序里(必要时还可以用第一种方式来加密这句话)
inclue(" 自有的网址/core.php");
你自有的网站的core.php判断请求的来源网址,输出程序代码给客户网站。
以上方法只是一个思路,稍微牛一点的人都会破解。
实际上像php这种开源编程,任何手工加密都容易被破解。
官方的推荐方法是,php加密可以用zend来实现。
百度一下Zend GUARD或者zend加密即可。然后买空间时候要注意买zend加密的空间。追问感谢你的回复
我只需要简单的加密域名防一下菜鸟就可以了。能贴个代码吗。谢谢
zend 加密客户很反感
追答改写很容易啊.
比如你想*只能百度知道这个域名使用,那么就是[//我改成双斜杠,原因你懂的,百度吞网址。]
你在php里 echo md5("http:双斜杠zhidao.baidu.com");
得到这个网址的md5值,7b87d5c4474ee9b43a79cd228e99f75b
把你的网址判定程序改成
$pos = strpos(md5($_SERVER['SERVER_NAME']), '7b87d5c4474ee9b43a79cd228e99f75b');
if ($pos === false)
就可以*只能在知道网址里使用了。
热心网友
时间:2022-04-22 10:49
是java的知识,你进百度
热心网友
时间:2022-04-22 12:24
这样足够了木追问不明白你在说什么,我提的问题是上面的绑定域名代码,如何修改为支持网址ASCII码
热心网友
时间:2022-04-22 14:15
是java的知识,你进论坛看看吧!