2024-11-25 00:11:50
大家好,今天小编关注到一个比较有意思的话题,就是关于php 源码加密的问题,于是小编就整理了3个相关介绍php 源码加密的解答,让我们一起看看吧。
在实际开发中PHP接口开发是PHP常见的技术,可以通过接口进行一些操作,可以访问接口获取数据,给app提供数据接口等,但是如果接口没有加密解密的过程,很容易发生盗用和不安全的操作。
下边简单介绍一下API接口的加密方法
如app要请求用户列表,api是“index.php?module=user&action=list”
app生成token = md5 (‘user’.’list′.’abc12@1qwe~456’) = 5e549e3c1e808125d1a7e0746625abb6;
则实际发起请求为 “index.php?module=user&action=list&token=5e549e3c1e808125d1a7e0746625abb6”
服务器端接到请求用同样方法计算token:
$module = $_GET['module'];
$action = $_GET['action'];
$urltoken = $_GET['token']; //app发送过来的token
$token = md5($module.$action.'abc12@1qwe~456');
if($urltoken != $token){
exit('error');
}else{
echo 'success';
}
可以通过以下加密方法加密:
分别是md5、base64_encode()、urlencode() ,相对应的解密函数:base64_decode() 、urldecode(),这样太长的字符串缩短到32或64位
域名授权代码可封装进函数,或者进行加密,对于常用的PHP加密形式,都有其破解的方法,比如ZendGuard、ionCube等,如果授权的域名较多,可以在项目中增加域名字段,将域名写入数据库再进行读取和校验。
工具/原料1、在线校验域名授权的方法,客户端代码:
1)写入客户端代码(php代码):
PHP
//获取不带端口号的域名前缀$servername = trim($_SERVER['SERVER_NAME']);
//获取服务端授权文件校验
$verifyurl = file_get_contents('http://www.abc.com/zb_users/upload/copyright.php?domain='.$servername);
if(!empty($verifyurl)){
echo "已授权!"; //授权成功
}else{
die("未授权!"); //授权失败
}
?>
2、写入服务端代码(php代码)
//获取域名$domain = $_GET['domain'];
//授权域名列表
$Array = array('127.0.0.1','localhost');
//校验结果echo in_array($domain, $Array) ? 'yes' : '';
?>
2、独立校验域名授权的方法:
(PHP代码)
function allow_domain(){
$is_allow=false;
//获取不带端口号的域名前缀
$servername=trim($_SERVER['SERVER_NAME']);
//授权域名列表
$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();
?>
到此,以上就是小编对于php 源码加密的问题就介绍到这了,希望介绍关于php 源码加密的3点解答对大家有用。
下一篇:php直播源码,PHP直播源码
Copyright © 2005-2024 代潇瑞博客 www.daixiaorui.com All Rights Reserved.
免责声明: 1、本站部分内容系互联网收集或编辑转载,并不代表本网赞同其观点和对其真实性负责。 2、本页面内容里面包含的图片、视频、音频等文件均为外部引用,本站一律不提供存储。 3、如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除或断开链接! 4、本站如遇以版权恶意诈骗,我们必奉陪到底,抵制恶意行为。 ※ 有关作品版权事宜请联系客服邮箱:478923*qq.com(*换成@)
渝ICP备2023009091号-21