对于PHP源码 授权看到网络上的一段话:
所谓的域名授权程序,只能欺负一下不懂程序的门外汉,对于熟悉php的人,无论你如何授权,都是可以破解的,只是时间问题而已!
确实如此吧,可见下面一段代码:
04 |
$url =trim( $_SERVER [ 'SERVER_NAME' ]); |
05 |
$arr_allow_domain = array ( "5ixuexiwang.com" ); //这里可以添加多个授权域名 |
06 |
foreach ( $arr_allow_domain as $value ){ |
08 |
$tmparr = explode ( $value , $url ); |
18 |
allow_doamin();
这个只要对获取的域名 进行赋值就直接过了判断。所以对于程序员来说这个太容易猜出来了,即使是加密过的PHP。
那么怎么处理?有的人有更复杂的授权方式,就是带上各种服务器的信息 还要加个KEY来作为授权码。
再经过代码加密,似乎看起来很牛B了,可是如果源码一旦破解沦陷,所有的判断函数不就是 鱼肉么??
有的人说 我代码加密了你怎么破解??还真别说,日前看到淘宝上有这样一个商品叫作:
没有不能解密的代码,标价好像是10个大洋起。我去,一个起码万记的代码就这样被10元了,尽管店主文字申明了不能用于商业用途只供学习。呵呵。
于是shopnc采用了核心代码加密,利用URL的路由格式在搜索引擎来搜索出搭建这个站点的未授权域名,然后就给你发律师函了。这也不失为一种方案,所以理由也要有自己在的风格。
那么PHP到底有没有这样一款或者一个很哇塞的授权方案呢??我也不知道。
网络上的一个代码思路: function
authorization($seed = '') {
$encode = $_SERVER['SERVER_SOFTWARE'] . $_SERVER['SERVER_NAME'] .
$_SERVER['DOCUMENT_ROOT'] .
$_SERVER['SERVER_ADMIN'] . $_SERVER['SERVER_ADDR'] . PHP_VERSION .
PHP_OS . __FILE__;
return md5 ($encode);
}
$authorization_key =
'www.xiaoyi.com';
echo
authorization($authorization_key);//这里是生成字符串验证
$authorization_check =
array('dd670852938815f3892d3c511cc8fceb','ddc976cc02bce5c3c22c4d7d201c0cae'
);//授权字串,把生成的字符验证复制到这里来
if (!in_array(authorization ($authorization_key),
$authorization_check)) {
die('对不起,你的程序未经过小一授权!!');
}
|