undscaping一个javascript预转义功能是一个坏主意的表现?

时间:2010-09-30 00:49:51

标签: javascript obfuscation javascript-framework

我想要预先转义部分javascript代码,然后以eval(unescape([code])的形式将其包含在我的页面中。我会牺牲性能吗?

3 个答案:

答案 0 :(得分:2)

不要担心从蜘蛛中隐藏JavaScript代码。它应该是您最不关心的问题,特别是因为他们不愿意去看它(除了寻找更多的爬行链接)。

http://googlewebmastercentral.blogspot.com/2007/11/spiders-view-of-web-20.html

答案 1 :(得分:1)

如果您想隐藏蜘蛛的内容,请使用外部脚本并设置robots.txt。

“好”的蜘蛛会接受,“坏”的蜘蛛无论如何都会看看。

答案 2 :(得分:1)

Unicode字符转义序列

例如

var \u0062\u0061\u006E\u0061\u006E\u0061 = "\u0062\u0061\u006E\u0061\u006E\u0061";

被解析为

var banana = "banana";

Base-36解码

(仅适用于不区分大小写的字母数字数据)

parseInt("banana", 36);
> 683010982

683010982 .toString(36);
> "banana"

如果将其拆分并分隔数字,这可能适用于某些类型的数据。


Base-64编码

您可以找到实施here ...

base64_encode("banana banana banana!")
> "YmFuYW5hIGJhbmFuYSBiYW5hbmEh"

base64_decode("YmFuYW5hIGJhbmFuYSBiYW5hbmEh")
> "banana banana banana!"

Base-85编码

包装比base-64小一点的东西。不太流行的格式,可能需要挖掘实现或自己制作。