A. 相对路径 include/require 全量改写为 __DIR__ 基址
- 修复 nginx+fastcgi 下 php-cgi 继承启动目录 CWD (D:\phpstudy_pro\COM)
导致 require '../function/...' 相对路径 include 全部失效;
28 文件 101 处统一改为 __DIR__ 绝对基址,任意 Web 服务器行为一致。
- 补齐带括号/缺斜杠漏改的 13 处 (controller.php、epay lib、
payment.php、notify_url.php、return_url.php)。
- function/config.inc.php 增加 config.local.inc.php 本地覆盖机制
(该文件加入 .gitignore 不入库),仓库默认配置保持中立。
B. UEditor 后台入口安全加固 (P0-01)
- admin/php/controller.php 全部 action 前置管理员会话校验
(admin_username + admin_password),匿名无法上传/抓取/列目录/读配置。
- 禁用远程图片抓取 catchimage (SSRF 向量),删除 action_crawler.php。
- 上传/列表白名单剔除 .exe/.dll/.iso/.cab/.swf。
- Uploader: 移除 iconv('unicode') Windows 告警行;
getFileInfo/action_list 的 URL 拼接增加 REQUEST_SCHEME 回退。
验证: 匿名访问全部 action 返回未授权;登录态上传成功且 URL 正确;
catchimage 已禁用;JSON 合法;全量 php -l 0 错误;
nginx(8081) 与内置服务器(8082) 双通道回归通过。
29 lines
793 B
PHP
29 lines
793 B
PHP
<?php
|
|
|
|
|
|
class ApiCommunication
|
|
{
|
|
private $connectkey;
|
|
private $decryptKey;
|
|
public function __construct($connectKey,$decryptKey)
|
|
{
|
|
$this->connectkey = $connectKey;
|
|
$this->decryptKey = $decryptKey;
|
|
}
|
|
|
|
public function getsign($data)
|
|
{
|
|
return md5($this->connectkey.md5(md5($data.$this->connectkey).$this->decryptKey).$this->decryptKey);
|
|
}
|
|
|
|
public function back($code,$type='',$options = array()){
|
|
include __DIR__ . '/Tips.php';
|
|
global $Tips;
|
|
$Tips['ok'] = 'ok';
|
|
$type = empty($type) ? 'ok' : $type;
|
|
$data = makejson($code,$Tips[$type],$options);//一次封装取签名
|
|
$sign = $this->getsign($data);
|
|
|
|
die(makejson(1,'ok',array('sign'=>$sign,'data'=>$data)));//二次封装
|
|
}
|
|
} |