View on GitHub

【新浪SAE】去掉烦人的实名认证提示(讨论)

 

HTML页面去除小尾巴

最近新浪的SAE开始实名认证http://sae.sina.com.cn/  新注册还是免费,但它那么坑我会打广告么)

不认证的话访问服务器上的页面会提示认证,如下图:

]0K9KK0TQURQL]XQXU($NTC

吐槽:

        实名认证又是拍照,又是需要各种资料,担心广告骚扰与隐私各种balabala问题…

        而且本来就是因为懒得本地配置服务器才用SAE(烦人的开机启动SQL服务、各种安全隐患的Apache…,丢掉丢掉统统丢掉~),当初顺便玩了把微信平台的机器人应答,其实也就自己一个人在访问,因此打算流量用完再做打算…

度娘里搜到的解决办法又是各种不相干,感到烦躁之余自己稍微看了下,是SAE自动在未认证的页面尾部加上了一个<div>亚当

<div style="z-index:2147483647;position:fixed;_position:absolute;top:0;left:0;right:0;padding:12px;background-color:rgba(0,0,0,0.5);filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7F000000,endcolorstr=#7F000000);color:#fff;text-align:center;font-size:16px;font-family:simsun,serif;cursor:default;"><p style="margin:0;padding:0;">该页面的提供者尚未完成<a style="text-decoration:none;color:#37afe4;" target="_blank" href="http://sae.sina.com.cn/?m=faq&amp;a=view&amp;doc_id=22">实名认证</a>,您的访问可能存在风险</p><a style="position:absolute;right:12px;top:50%;font-size:20px;color:#fff;border:none;margin:0;padding:0;;margin-top:-10px;line-height:20px;background:none;cursor:pointer;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;outline:none;" onclick="this.parentNode.style.display='none'">×</a></div>

本着注入的想法,直接在页面尾部加上了HTML注释标签 "<!--"

</body>
</html>
<!--这里就插一半,浏览器能自动补全另一半

WG(IO{}H4~(3TW{@2UBP[D0

这样的话静态页面便能注释掉烦人的小尾巴了眨眼

后面发现IE跟chrome处理半个标签的方式不太一样,IE还是有些问题

不知道HTML是否能在结尾添加上类似 EOF 这类结尾标志,如有更好的办法请在留言处讨论下哈,我再加进来

 

 @Beta3.0 补充:静态页面我原来是设置最后一个div的display为none。   那么应该可以尝试在JS里取出最后个DIV删掉


 

数据页面待解决

但让我比较困扰的是SAE在服务器返回的JSON数据页面最后也附上了小尾巴,导致正常的JSON包变得无法解析。

而JSON貌似并不支持注释(包括/* 与// 只能用于JavaScript),以下就尝试了在结尾加上/*

(45UZ%FDFWJK1Y[Z7IL$ARP

此外 echo "\n//"; 也试了,同样不行。

这里求各位大哥帮我支两招吐舌笑脸

 

权宜之计(字符串过滤)

既然有人需要,这里就贴下目前我对数据页面的解决方式。

1) 在php数据页面里加入结束标志,我这里用换行加注释符 "\r\n<!--",代码如下

1 ……
2 
3 echo json_encode($json_arr);
4 echo "\r\n<!--";
5 
6 ……

 

2) 在JS数据接收的时候进行字符串截取。只接受 "<!--" 前的数据 作为JSON,代码如下

 1 $.ajax({
 2     type: 'post',
 3     url:'.XXXX.php',
 4 
 5     //注意:这里不能直接用JSON格式传输
 6     //dataType: "json",
 7     //contentType: "application/json; charset=utf-8",
 8 
 9     dataType: "application/x-www-form-urlencoded",
10     contentType: "application/x-www-form-urlencoded; charset=utf-8",
11     complete:function(data){
12         //可以通过控制台查看下过滤效果
13         console.log(data.responseText);
14         console.log(data.responseText.split('<!--')[0]);
15         console.log(JSON.parse(data.responseText.split('<!--')[0]));
16         data = JSON.parse(data.responseText.split('<!--')[0])
17         //data = JSON.parse(data.responseText);
18         for(one in data.……){
19             ……
20             }    
21         }
22     }
23 })

 

 

 

 

 

posted @ 2015-04-13 12:52  Blz.Galaxy  阅读(2496)  评论(5编辑  收藏  举报