Commit 73a61072 authored by Medicean's avatar Medicean

(Enhance:Core) PHP4 支持解码器

parent 333d9f06
......@@ -50,7 +50,7 @@ class ASP extends Base {
* @param {Object} data 通过模板解析后的代码对象
* @return {Promise} 返回一个Promise操作对象
*/
complete(data) {
complete(data, force_default=false) {
// 分隔符号
let tag_s = Math.random().toString(16).substr(2, 5); // '->|';
let tag_e = Math.random().toString(16).substr(2, 5); // '|<-';
......
......@@ -52,7 +52,7 @@ class ASPX extends Base {
* @param {Object} data 通过模板解析后的代码对象
* @return {Promise} 返回一个Promise操作对象
*/
complete(data) {
complete(data, force_default=false) {
// 分隔符号
let tag_s = Math.random().toString(16).substr(2, 5); // '->|';
let tag_e = Math.random().toString(16).substr(2, 5); // '|<-';
......
......@@ -45,7 +45,7 @@ class CUSTOM extends Base {
* @param {Object} data 通过模板解析后的代码对象
* @return {Promise} 返回一个Promise操作对象
*/
complete(data) {
complete(data, force_default=false) {
// 分隔符号
let tag_s = '->|';
let tag_e = '|<-';
......
......@@ -12,15 +12,20 @@ class PHP4 extends PHP {
* @param {Object} data 通过模板解析后的代码对象
* @return {Promise} 返回一个Promise操作对象
*/
complete(data) {
complete(data, force_default=false) {
// 分隔符号
let tag_s = Math.random().toString(16).substr(2, 5); // "->|";
let tag_e = Math.random().toString(16).substr(2, 5); // "|<-";
let asencCode;
if(!force_default){
asencCode = this.__decoder__[this.__opts__['decoder'] || 'default'].asoutput();
}else{
asencCode = this.__decoder__['default'].asoutput();
}
// 组合完整的代码
let tmpCode = data['_'];
data['_'] = `@ini_set("display_errors", "0");@set_time_limit(0);echo "${tag_s}";${tmpCode};echo "${tag_e}";die();`;
data['_'] = `@ini_set("display_errors", "0");@set_time_limit(0);${asencCode};function asoutput(){$output=ob_get_contents();ob_end_clean();echo "${tag_s}";echo @asenc($output);echo "${tag_e}";}register_shutdown_function("asoutput");ob_start();${tmpCode};die();`;
// 使用编码器进行处理并返回
return this.encodeComplete(tag_s, tag_e, data);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment