开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 16689|回复: 86
收起左侧

[2021开源大赛(第六届)] PHP+MYSQL中间件个人认为最好用的版本

[复制链接]

结帖率:94% (45/48)
发表于 2021-11-20 18:52:43 | 显示全部楼层 |阅读模式   上海市上海市
本帖最后由 红颜似水 于 2021-11-20 18:55 编辑

这个模块源码和中间件是在论坛里下的,对模块数据源,以及提交字段进行了简化操作,(自行增加了表达式二次处理,字段二次处理) 用起来非常好用

但目前的遗憾是 它不支持PHP7,只能用PHP5.6, 随着时间的推移以及技术的更新迭代,大部分的服务器运营环境PHP代码如下(也打包了)

[PHP] 纯文本查看 复制代码
<?php 
//此程序不支持 PHP7
error_reporting(0);
session_start();
ini_set("display_errors", 0);
////////////////////////////////////////////////////
$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'pass';
$msgkey = 'cunyu0.0';
////////////////////////////////////////////////////
if(substr($_POST['DATA'],0,7)=='GETRAND'){//获取验证码
        $_SESSION[rand_temp]=get_rand();
        exit(strtoupper(strToHex(rc4($_SESSION[rand_temp],$msgkey))));
}
$temp = str_decode($_POST['DATA'],$msgkey,$_SESSION[rand_temp]);//解密数据
$temp = explode('|+|',$temp);//拆开原始数据
if(count($temp)<4){
        exit('Error');
}

//////////////////PHP7支持mysql_ 要用mysqli////////////////////
$con = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$con){
        echo str_encode(mysql_error(),$msgkey,$rand);
        exit;
}
mysql_select_db($temp[2],$con);
mysql_query("set names GB2312");//这里自己设置数据库的编码 UTF-8,GB2312
//////////////////PHP7支持mysql_ 要用mysqli////////////////////

$rand = $temp[0]*1020/2;//处理客户端效验码

if($temp[1]=='SQLU'){//返回字符串
        if($temp[2]!=''){
                mysql_select_db($temp[2],$con);
        }
        $result = mysql_query($temp[3]) or die('-1 ');
        while($row = mysql_fetch_row($result))
        {
                foreach ($row as $a)
                {
                        $txt .= $a."#_#";
                }
                        $txt .= '@_@';
        }
        echo str_encode($txt,$msgkey,$rand);
        sql_close();
        exit;
}
if($temp[1]=='EVAL'){//执行代码
eval($temp[2]);
}
function rc4($data,$pwd)
{  
        $key[] ="";
        $box[] ="";
        $pwd_length = strlen($pwd);
        $data_length = strlen($data);
        for ($i = 0; $i < 256; $i++)
        {
                //$key[$i] = ord($pwd[$i % $pwd_length]); 不支持PHP7
                $key[$i] = @ord ($pwd[($pwd_length==0?0:($i % $pwd_length))]);
                $box[$i] = $i;
        }
        for ($j = $i = 0; $i < 256; $i++)
        {
                $j = ($j + $box[$i] + $key[$i]) % 256;
                $tmp = $box[$i];
                $box[$i] = $box[$j];
                $box[$j] = $tmp;
        }
        for ($a = $j = $i = 0; $i < $data_length; $i++)
        {
                $a = ($a + 1) % 256;
                $j = ($j + $box[$a]) % 256;
                $tmp = $box[$a];
                $box[$a] = $box[$j];
                $box[$j] = $tmp;

                $k = $box[(($box[$a] + $box[$j]) % 256)];
                $cipher .= chr(ord($data[$i]) ^ $k);
        }
        return $cipher;
}
function HexTostr($s){
        $r = "";
        for ( $i = 0; $i<strlen($s); $i += 2)
        {
                $x1 = ord($s{$i});
                $x1 = ($x1>=48 && $x1<58) ? $x1-48 : $x1-97+10;
                $x2 = ord($s{$i+1});
                $x2 = ($x2>=48 && $x2<58) ? $x2-48 : $x2-97+10;
                $r .= chr((($x1 << 4) & 0xf0) | ($x2 & 0x0f));
        }
        return $r;
}
function strToHex($s) {
        $r = "";
        $hexes = array ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");
        for ($i=0; $i<strlen($s); $i++) {$r .= ($hexes [(ord($s{$i}) >> 4)] . $hexes [(ord($s{$i}) & 0xf)]);}
        return $r;
}
function str_decode($str,$key,$key_rand){//解密函数
        return (string)rc4(HexTostr((string)rc4(HexTostr($str),(string)$key_rand)),$key);
}
function str_encode($str,$key,$key_rand){//加密函数
        $key_temp = strToHex(rc4($str,(string)$key_rand));
        $key_temp = strtoupper(strToHex(rc4($key_temp,$key)));
        return $key_temp;
}
function sql_close(){
        mysql_close();
        $_SESSION[rand_temp]=get_rand();
        return true;
}
function get_rand(){
        for($i=0; $i<6; $i++){
        $rands.= dechex(rand(0,9));
        }
        return $rands;
}
?>





也不太想单独的去建立一个PHP5的环境了,那会对资源过多的占用

我现在的解决办法就是在运行的环境里再去单独创建一个站点配置PHP5的环境,完全不能直接用到正在运行的网站里

也许是现在年级大了,折腾不动了,搞不了这些东西了吧...


所以将这个源码和中间件发出来,希望有大佬能将它进行二次更新开发,让它能够更好的适用目前的大趋势环境吧

QQ截图20211120184513.png

MySQL操作类.rar (10.64 KB, 下载次数: 608)

点评

操作mysql的PHP中间件源码 https://bbs.125.la/forum.php?mod=viewthread&tid=13799685 (出处: 精易论坛)   辽宁省大连市  发表于 2021-12-7 18:36

评分

参与人数 8好评 +6 精币 +16 收起 理由
704910100 + 1 + 2 支持开源~!感谢分享
ghost12 + 1 支持开源~!感谢分享
lin0658 + 1 支持开源~!感谢分享
嘻哈冒险岛 + 1 + 2 不能模糊cha询?
小翁哥哥 + 1 + 2 支持开源~!感谢分享
易语言资源网 + 1 + 5 支持开源~!感谢分享
418235144 + 1 + 2 支持开源~!感谢分享
kyo9766 + 2 感谢发布原创作品,精易因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

签到天数: 5 天

发表于 2024-8-26 20:51:44 | 显示全部楼层   广东省深圳市
666666666666666666666666666
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2024-8-14 10:56:42 | 显示全部楼层   广东省珠海市
回复 支持 反对

使用道具 举报

发表于 2023-12-4 11:53:26 | 显示全部楼层   湖南省郴州市
6666666666666666666666666666666666666666666
回复 支持 反对

使用道具 举报

结帖率:67% (2/3)

签到天数: 10 天

发表于 2023-4-20 14:13:08 | 显示全部楼层   浙江省金华市
源文件里支持PHP7 +了吗?
回复 支持 反对

使用道具 举报

结帖率:91% (192/212)

签到天数: 22 天

发表于 2022-11-12 22:34:53 | 显示全部楼层   福建省漳州市
想问下 PHP做中间件和用易语言假设 http或tcp做中间件的优点???
回复 支持 反对

使用道具 举报

结帖率:81% (21/26)

签到天数: 5 天

发表于 2022-11-11 13:59:26 | 显示全部楼层   浙江省温州市
66666666666666
回复 支持 反对

使用道具 举报

结帖率:80% (20/25)

签到天数: 10 天

发表于 2022-11-11 13:32:34 | 显示全部楼层   四川省南充市
感谢大佬分享
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)

签到天数: 2 天

发表于 2022-10-23 05:19:40 | 显示全部楼层   广东省广州市
6666666666666666666666
回复 支持 反对

使用道具 举报

发表于 2022-10-9 08:40:04 | 显示全部楼层   河南省郑州市
这个怎么用啊~编译成模块,用不了啊~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表