关于php中base64加密,js中base64解密的一个方法,包括处理emoji等特殊字符
[ 2021-01-20 15:30:36 | 作者: admin ]
p.s.只是简单的字符串处理,本质还是明文,没有特殊加密效果
PHP加密:
如果只是普通字符,则简单 base64_encode() 转为base64串即可,但是如果字符串中包含emoji等特殊字符,php解密没有问题,但是放js中没有办法直接解密,需要先将字符串urlencode()处理,然后再base64加密。
还需要特别说明的是,js只支持解密utf8编码,如果字符串是gbk的,需要先转成utf8,再加密。
所以gbk字符串的加密方法为
阅读全文…
PHP加密:
如果只是普通字符,则简单 base64_encode() 转为base64串即可,但是如果字符串中包含emoji等特殊字符,php解密没有问题,但是放js中没有办法直接解密,需要先将字符串urlencode()处理,然后再base64加密。
还需要特别说明的是,js只支持解密utf8编码,如果字符串是gbk的,需要先转成utf8,再加密。
所以gbk字符串的加密方法为
$title = "你好,世界。";
$title = mb_convert_encoding($title, 'UTF-8','gbk'); //先转编码gbk->utf8
$title = urlencode( $title ) ; //处理emoji等特殊字符,如果没有特殊字符这一步省略
...$title = mb_convert_encoding($title, 'UTF-8','gbk'); //先转编码gbk->utf8
$title = urlencode( $title ) ; //处理emoji等特殊字符,如果没有特殊字符这一步省略
阅读全文…
无线路由器利用wds桥接无线成功后,其lan也可以上网的说明
[ 2020-12-25 16:29:53 | 作者: admin ]
有个tplink桥接了一个较远的无线节点,发现桥接完成后,无线能正常上网,但lan口插网线不能上网。
分析:
1、此时远程无线和本地无线都开启了DHCP
2、看了下手机连到本地无线后,IP实为远程路由的dhcp分配的IP。
3、电脑连到本地无线路由的lan口后,因为此路由也开启了dhcp,导致分配的IP为本地IP段,所以无法上网
解决:
关闭本地无线路由的DHCP,重启即可上网。
分析:
1、此时远程无线和本地无线都开启了DHCP
2、看了下手机连到本地无线后,IP实为远程路由的dhcp分配的IP。
3、电脑连到本地无线路由的lan口后,因为此路由也开启了dhcp,导致分配的IP为本地IP段,所以无法上网
解决:
关闭本地无线路由的DHCP,重启即可上网。
给老平板华硕T100taf重新安装win8.1 32位系统
[ 2020-11-30 14:12:11 | 作者: admin ]
华硕t100taf 是atom的cpu,2g 内存,总共只有32G空间。系统快满了,硬盘和内存都是焊在主板上的,所以也不能换硬盘。目前是win10,想换老点的系统,但是用老毛桃和大白菜的u盘pe系统都进不了。网上查了下,需要下载兼容的PE系统,以华硕T100TA为例,要下载Bay Trail能用的PE系统: T100pe.iso
制作兼容的pe启动盘并安装win8.1 32位系统
1、打开UltraISO软件,选择 文件-打开,打开下载的PE系统文件T100pe.iso。
2、选择 启动-写入硬盘映像到u盘
3、下载一个win8.1 32位的gho文件到u盘里面,因为只有2G系统,32位容量小一点。
4、开机按ESC进入BIOS,选择U盘启动,进入PE。发现PE里面自带的ghost写gho到平板硬...
阅读全文…
制作兼容的pe启动盘并安装win8.1 32位系统
1、打开UltraISO软件,选择 文件-打开,打开下载的PE系统文件T100pe.iso。
2、选择 启动-写入硬盘映像到u盘
3、下载一个win8.1 32位的gho文件到u盘里面,因为只有2G系统,32位容量小一点。
4、开机按ESC进入BIOS,选择U盘启动,进入PE。发现PE里面自带的ghost写gho到平板硬...
阅读全文…
win2003服务器中apache2.4重启造成apache假死问题解决方法
[ 2020-11-16 11:07:33 | 作者: admin ]
运行环境:
apache2.4 + mod_fcgid + php5.4 nts
故障现象:
修改httpd.conf之后重启apache,出现apache假死,访问网站无响应。
分析日志:
出现大量 mod_fcgid: can't apply process slot for php-cgi.exe 错误,看来是php-cgi.exe进程数满不能增加新的进程导致。
看上去似乎可以增加配置文件中 FcgidMaxProcesses 参数来增加进程,但是此服务器内存不大,数十万PV应该还不至于。一个php-cgi进程占15M内存,200个进程需要3G内存。实际上目前的进程数量是够用的,问题是重启apache的时候,php-cgi进程没有自动结束,应该是受制于它自己的生命周期。虽然进程失效却不能马上结束,所以导致新进程不能产生,旧进程又失效了。
解决办法:
...
阅读全文…
apache2.4 + mod_fcgid + php5.4 nts
故障现象:
修改httpd.conf之后重启apache,出现apache假死,访问网站无响应。
分析日志:
出现大量 mod_fcgid: can't apply process slot for php-cgi.exe 错误,看来是php-cgi.exe进程数满不能增加新的进程导致。
看上去似乎可以增加配置文件中 FcgidMaxProcesses 参数来增加进程,但是此服务器内存不大,数十万PV应该还不至于。一个php-cgi进程占15M内存,200个进程需要3G内存。实际上目前的进程数量是够用的,问题是重启apache的时候,php-cgi进程没有自动结束,应该是受制于它自己的生命周期。虽然进程失效却不能马上结束,所以导致新进程不能产生,旧进程又失效了。
解决办法:
...
阅读全文…
SQL2008数据库导出到SQL2000全部步骤过程
[ 2020-08-20 15:04:11 | 作者: admin ]
SQL2008转到SQL2000的步骤
1、 在sql2008上生成for 2000版本的数据库脚本
(a)数据库点右键 - 任务 - 生成脚本
(b)设置脚本编写选项 - 点高级按钮,找到"为服务器版本编写脚本"项, 选 SQL Server 2000
(c)下一步生成script.sql
2、 在2000中创建目标数据库
sql2000中新建数据库,打开sql查询分析器,运行script.sql建立数据表等
3、导入数据
方法一、在sql2008中导出数据到sql2000,全选表单击编辑映射---勾选启用标识插入,如果过程不顺利就用方法二
方法二、在sql2000中导入sql2008数据,连接sql2008需要使用sql server odbc方式,sql2000默认会启用标识插入
1、 在sql2008上生成for 2000版本的数据库脚本
(a)数据库点右键 - 任务 - 生成脚本
(b)设置脚本编写选项 - 点高级按钮,找到"为服务器版本编写脚本"项, 选 SQL Server 2000
(c)下一步生成script.sql
2、 在2000中创建目标数据库
sql2000中新建数据库,打开sql查询分析器,运行script.sql建立数据表等
3、导入数据
方法一、在sql2008中导出数据到sql2000,全选表单击编辑映射---勾选启用标识插入,如果过程不顺利就用方法二
方法二、在sql2000中导入sql2008数据,连接sql2008需要使用sql server odbc方式,sql2000默认会启用标识插入
win2003/win2008/win2012 运行asp,php,asp.net的目录权限配置中的安全问题
[ 2020-08-04 16:10:27 | 作者: admin ]
p.s. 由于php的缓存机制五花八门,为确保权限更改生效而不受缓存影响,需要每次修改权限后重启下IIS或者暂时停掉缓存。
1、如果出现404,则可以看看是否fastcgi没有启用,或者是关停了IISsafedog但是站点isapi中还有dll残留。
2、asp/php站的上传目录图片返回500,有可设置了不支持.net的应用程序池,然后恰好上传目录下存在web.config
关于win2003到win2008的权限组更新,可以看 win2008中ACL权限问题:IUSR和IIS_IUSRS http://blog.xg98.com/article.asp?id=2701
我们先定义相关目录如下
根目录: /ROOT
网站目录: /ROOT/WEB
日志目录: /ROOT/LOGS
【Win2003服务器】
...
阅读全文…
1、如果出现404,则可以看看是否fastcgi没有启用,或者是关停了IISsafedog但是站点isapi中还有dll残留。
2、asp/php站的上传目录图片返回500,有可设置了不支持.net的应用程序池,然后恰好上传目录下存在web.config
关于win2003到win2008的权限组更新,可以看 win2008中ACL权限问题:IUSR和IIS_IUSRS http://blog.xg98.com/article.asp?id=2701
我们先定义相关目录如下
根目录: /ROOT
网站目录: /ROOT/WEB
日志目录: /ROOT/LOGS
【Win2003服务器】
...
阅读全文…
Win2003 安装sql2008 SQL Server Management Studio 2008 官方版 64位/32位
[ 2020-06-17 15:31:37 | 作者: admin ]
p.s. 安装Management Studio 2008前提条件
1、检查下系统更新,不检查应该也没事
2、安装 SQL Server 2008 Express 32位 中文简体安装包
3、安装 .net 3.5 sp1
4、安装 powershell 2.0 for win2003 (会开启和监听 5985 http 和5986 https 两个端口,外网防火墙需要做屏蔽以免被利用)
5、SQL Server Management Studio 2008 32位
特别注意:安装Management Studio过程中,需要选择执行SQL Server 2008 的全新安装,如果选择向SQL Server 2008 的现有实例中添加功能,则不会出现 管理工具 的选项
SQL Server ...
阅读全文…
1、检查下系统更新,不检查应该也没事
2、安装 SQL Server 2008 Express 32位 中文简体安装包
3、安装 .net 3.5 sp1
4、安装 powershell 2.0 for win2003 (会开启和监听 5985 http 和5986 https 两个端口,外网防火墙需要做屏蔽以免被利用)
5、SQL Server Management Studio 2008 32位
特别注意:安装Management Studio过程中,需要选择执行SQL Server 2008 的全新安装,如果选择向SQL Server 2008 的现有实例中添加功能,则不会出现 管理工具 的选项
SQL Server ...
阅读全文…
正则批量替换函数preg_replace_callback 在php5.2 php5.3中的类中使用问题相关说明
[ 2020-06-09 21:54:10 | 作者: admin ]
p.s. 真的挺奇怪,这么常用的函数,关于类中使用网上居然很难找到有用相关资料,难道大伙都避免使用preg_replace_callback吗。有用的说明请看参考1.
下面举例说明,其中 next_year 为回调函数
php5.2和php5.3的类中都可以使用的标准方法:
阅读全文…
下面举例说明,其中 next_year 为回调函数
function next_year($matches) {
// 通常:$matches[0] 是完整的匹配项,$matches[1] 是第一个括号中的子模式的匹配项, 以此类推
return $matches[1].($matches[2]+1);
}
// 通常:$matches[0] 是完整的匹配项,$matches[1] 是第一个括号中的子模式的匹配项, 以此类推
return $matches[1].($matches[2]+1);
}
php5.2和php5.3的类中都可以使用的标准方法:
preg_replace_callback(”|(d{2}/d{2}/)(d{4})|”,array( &$this, ‘next_year’), $str);
...阅读全文…