最近做的一个站点,里面有一些的信息是不想被别人抓取,然后就想了这么个非主流的防抓取方式,想的不是特别的严谨,但是还是能简单的抵挡一下哪些二流的程序员的,OK,那就开始说一下思路吧。
思路就是,随机生成一批随机字符,插入到想要防止抓取的文字中,然后记录下这批随机字符,传入JS,在前端用JS将这些字符替换掉。
看一下我的实践:
randstr方法就是生成随机字符用的
ORG.JavaScriptPacker 是引入的一个JS压缩类
1 | //随机字符加密 |
然后将这些PHP生成的随机字符随机的插入不想被抓取到的文字中。
这段代码是ThinkPHP中粘出来的,如果不懂可以基本立即就是把最终的$ScriptExec给打印出来(放入script中),即可,替换的内容是class = wrapper 的内容。
这个方法再开头也说了,只能稍作抵挡,真想抓取到实际内容也非常简单,
1、找到源码里执行的那段替换script代码,
2、解密这段script代码,找到其中的随机字符
2、抓取到相应的内容后自己再做替换