php专区

 首页 > php专区 > PHP进阶 > 网络编程 > escape是什么意思,在PHP中实现Javascript的escape()函数代码

escape是什么意思,在PHP中实现Javascript的escape()函数代码

分享到:
【字体:

在 Javascript 中,可以利用 escape/unescape() 和 eval_r() 函数进行简单的转码处理,让普通的 URL 网址看起来比较怪异,使那些令人讨厌的搜索爬虫无法辨认你希望隐藏的资源。

这里,一般都需要预先将正常的字符串编码成 JavaScript unescape() 函数能够解译的格式,以 PHP 为例,可以使用以下函数实现 Javascript 中 escape() 函数相同的功能:

代码如下:

 1) { // 多字节字符 
$return .= %u . strtoupper(bin2hex(mb_convert_encoding($str, UCS-2, $encoding))); 
} else { 
$return .= % . strtoupper(bin2hex($str)); 
} 
} 
return $return; 
} 
?>


假设我们要隐藏以下地址:#
我们可以利用以下脚本实现:

代码如下:



如果你查看页面源代码,你会看到(因为太长,所以进行了手动分行,实际运行结果应该是完整的一行):

代码如下:



而在浏览器中显示的页面,和普通 html 没有分别。
注:
1、escapeToHex() 函数的第二个参数($encoding)表示你传递进来的字符串的编码,默认是 UTF-8,如果你使用了其他编码,应该在调用函数的明确指定;
2、unescape() 在 ECMAScript v3 规范中被反对使用,该规范建议使用新的替代函数 decodeURIComponent(),但我经过测试发现,decodeURIComponent()函数对多字节字符(中文)处理存在问题,所以仍然使用了 unescape() 函数。
3、原则上来说,上述方法只是为了防止搜索爬虫获取你认为需要保密的资源地址,在支持 Javascript 的浏览器下浏览页面,和没有启用这种保护机制情况下看到的呈现是完全相同的。

分享到:
什么是sd卡根目录php中定义网站根目录的...
代码如下:define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/../'))); 以上就介绍了什么是sd卡根目录 php中定义网站根目录的常用方法,包括了什么是sd卡根目录方面的内容,希望对PH...
runtimeexceptionphpset_magic_quotes_ru...
把函数: set_magic_quotes_runtime($new_setting); 替换成: ini_set("magic_quotes_runtime", $new_setting); 以上就介绍了runtimeexception php set_magic_quotes_runtime 函数过时解决方法,包括了runtimeexception方面的内容,希望对PHP教程有...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……