一种 php0.5b2 的衍生版本,主要增加了加密模块

/*---------------------------修改记录(截止20110528下午)---------------------------*/

对HTML数据作如下的改动:

* 对COOKIE的一些值加密
* 不同的编码的数据统一为UTF-8,但一些不规范的网页在编码转换时可能出错,尤其是亚洲国家的文字编码,所以不怎么完善,
* UTF-8转成HTML实体,主要对多字节文字使用,防止关键字
* 在HTML实体的基础上增加了加密选项,加密算法简单,同一数据的密文随机改变,进一步防止关键字,但这将消耗更多的 S/C 资源,所以浏览明显变慢
* 对URL不仅仅是用BASE64编码,采用比较复杂的加密模式
* 更改了压缩方法
* 保持原网页编码不加密的选项,

其它改动:

* 首次提交的网址在客户端进行多次简单的编码,所以看上去是乱码
* 支持设定默认的代理网站
* 支持限制一些国家的网民使用此代理,以节省资源
* 支持白名单,在白名单的网站走指定的代理服务器
* 实现多语种,目前支持简体、繁体和英文
* 更改了风格,增加常用链接
* added by felix021 for block-divided downloading
* 增加了用户认证
* ACCEPT_LANGUAGE 和 USER_AGENT 被使用和修改
* 对常用的网址作了简短URL,但是这需要服务器支持rewrite模块(同时AllowOverride all),
  否则请在index.php文件的file_put_contents('.htaccess',$base);前加 // ,并删除 .htaccess 文件
* 支持在线检测版本
* 增加管理模块

在线代理的普遍缺点,需要专用的插件:

* 对AJAX支持的一塌糊涂
* 对FLASH也不支持

/*---------------------------发送中文数据返回乱码的处理方法---------------------------*/

一般的php.ini的 default_charset = "ISO-8859-1" ,而一些英文论坛默认编码并不是 utf-8 、 GBK,而是 ISO-8859-1 ,所以把发送的数据按照 ISO-8859-1 处理,或者经过两次UTF-8编码存储。

1. 把提交数据的页面在浏览器中调整为中文编码
2. 开启代理中倒数第三行 header("Content-type: text/html;charset=$charset"); 并指定为 GBK,但这将造成加载的风格文件丢失
3. 修改php.ini 中的 default_charset = "ISO-8859-1"

/*---------------------------遇到的问题--JS解码---------------------------*/

由于PHP和JS默认的编码格式的不同,导致PHP编码后的多字节数据在JS中不能正确解码,而单字节
数据则不存在这样的问题,为了使JS能正确解密PHP加密的数据,使用了HTML实体和BASE64编码,但
是这对多字节字符将非常耗费服务器和客户端的CPU和带宽,尤其让客户端的JS处理BASE64编码,那
真是为难,所以如何使用合适的编码是关键

一份中文数据的比较

原数据  HTML实体 HTML加密

未压缩  83 KB   311 KB   415 KB                
有压缩  49 KB   59 KB    85 KB
比例    2       5        5           
CPU耗时 不明显  不明显   100% 42s

所以使用不加密的压缩方式浏览比较合适

/*---------------------------要完成的项---------------------------*/

- 支持 HTTP 摘要
- 支持一些视屏网站
- 如果遇到编码识别错误而显示乱码的网站,让用户自己选编码,这需要JS代码
- 对一些论坛作精简格式,适合手机访问
- 作一个客户端,让这个软件成为服务端

/*---------------------------原作者要完成的项(17:7)---------------------------*/

- Cookie 管理    ==>
- 支持JavaScript    ==> 仅用来加解密数据,不知道原作要JS支持什么
- 支持外部代理服务器    ==> 这个可以参照 surrogafier,条件许可,将使用 tor 等代理
- 不包含URL表框的 Frames 和 iframes 标签    ==>
- 缓存选项    ==>
- 更多编码URL的方法    ==> 完成
- 更多的浏览选项    ==> 添加了html加密选项
- 支持 HTTP 摘要    ==>
- 支持 HTTP 1.1    ==> 对一些网站会缓慢,放弃
- 支持更多的响应专用 headers    ==> 有改
- 更好的 "hosts" 控制    ==> 完成
- 引进 URL proxification    ==> ?
- 检查 gzip 压缩条件    ==> 完成
- Look into proxification XML 数据的    ==>
- 支持多语种    ==> 完成
- 支持 IDN    ==>
- 支持 FTP    ==>

转载于:https://www.cnblogs.com/yisuo/archive/2011/05/31/9247004.html

PHPROXY Encrypt 0.61相关推荐

  1. apache 2.4.12 + tomcat 7.0.61 + jk connectors 1.2.40实现tomcat负载均衡集群

    实验环境:     CentOS 5.11 final     hostname:T1.getg.com     IP地址:192.168.50.138 软件准备:     CentOS Linux ...

  2. 余承东吐槽苹果续航;微软 IE 浏览器被曝漏洞;React Native 0.61.0 发布 | 极客头条...

    快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有 ...

  3. java读取jpg点数_我的世界:基岩版beta1.16.0.61修复59个“特性”,同步Java版?

    相信玩家们都知道Java版1.16已经更新到20w20a快照,而同版本号更新的基岩版也不甘示弱,beta1.16.0.61随之而来,可惜的是它并没有添加新事物,只是继续修复59个"特性&qu ...

  4. 9月27日科技资讯|余承东吐槽苹果续航;贾扬清担任阿里巴巴开源技术委员会负责人;React Native 0.61.0 发布

    「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有料的新闻资讯,让所有技术人,时刻紧跟业界潮流. 整理 | 胡 ...

  5. win10下安装tensorflow+cuda8.0.61+cudnn5.1+python3.5(附cuda和相对于的cudnn版本网盘下载)

    1.安装配置python3.5环境 去官网下载python3.5,直接安装记得安装路径,然后加入Path环境 我的是默认安装的,所以加入Path环境路径为:C:\Users\Administrator ...

  6. 电信2月国内市场份额52.22% 环比上月下降0.61%

    IDC评述网(idcps.com)03月14日报道:根据CNZZ最新数据显示,2月份,在国内网络接入商市场上,中国电信市场份额达52.22%,以绝对优势排名第1,但持续着下降的趋势,环比上月,下跌了0 ...

  7. 【男性身材计算】胸围=身高*0.48(如:身高175cm的标准胸围=175cm*0.61=84cm);腰围=身高*0.47(如:身高175c… - 李峥 - 价值中国网...

    [男性身材计算]胸围=身高*0.48(如:身高175cm的标准胸围=175cm*0.61=84cm):腰围=身高*0.47(如:身高175c- - 李峥 - 价值中国网 [男性身材计算]胸围=身高*0 ...

  8. Zabbix 3.0 从入门到精通(zabbix使用详解)

    第1章 zabbix监控 1.1 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了 当出问题之后,可以找到问题的根源   网站/服务器 的可用性 1.1.1 网站可用性 在软件系统的高可靠性(也 ...

  9. x86_64 ubuntu18.04.4 python3.6.9 安装 cuda8.0 和 cudnn5.1

    文章目录 x86_64 ubuntu18.04.4 python3.6.9 tensorflow1.14-gpu 安装 cuda 和 cudnn 确定cuda和cudnn和tensorflow对应的版 ...

最新文章

  1. 大学计算机二级培训新闻稿,计算机二级模拟考通讯稿
  2. 面试:说说参数验证 @Validated 和 @Valid 的区别?
  3. swift 拖动按钮_Swift下使用UICollectionView 实现长按拖拽功能
  4. 深度学习基础(四)优化函数(梯度下降函数)
  5. python中int对象不可迭代_python - 情感分析接收错误:'int'对象不可迭代_python-3.x_酷徒编程知识库...
  6. java 获取服务器IP地址及MAC地址
  7. Socket网络编程--简单Web服务器(3)
  8. 基本MVC2模式创建新闻网站
  9. 三星S5P 6818开发板无线使用ADB功能方法
  10. 印章仿制工具_仿制图章工具怎么用
  11. 手机详情 html代码生成器,dede源码最新版手机移动端静态生成模块插件
  12. 51-20210316华为海思Hi3516DV300的linux系统编译2(SPI模式)
  13. 从零搭建vue-ssr详细介绍
  14. 漏洞复现-Wordpress 4.6 PwnScriptum RCE命令执行
  15. Navicat数据库管理工具的基本操作
  16. 使用 代码 读取 build.gradle 中的自定义配置信息
  17. Java-多人聊天小程序
  18. 在win10安装Charles和证书
  19. Flowable 6.6.0 BPMN用户指南 - (5)Spring Boot - 5.8 Flowable应用属性
  20. SiTime 硅晶振与石英晶振的区别

热门文章

  1. lampapache+mysql+php
  2. 安卓自动化测试(1)安卓自动化测试原理概念
  3. HTML5 Maker – 在线轻松制作 HTML5 动画效果
  4. 使用Jdom2将一个xml文件添加到另一个xml中
  5. 深度解析iPhone Category用法
  6. 【理论】红黑树的实现原理
  7. Blog 081018
  8. BZOJ5091摘苹果(概率、期望)
  9. Sql查询一个列对应多个列
  10. RadioButton 自定义控件