【新浪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 })

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM