百度空间删除文章的隐藏表单
2009 五月 27
原创文章
下面是定义的函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <script language="javascript"> <!-- var k=0,j=0; function blogdel(str) { var pop=new Popup({ contentType:3,isReloadOnClose:false,width:340,height:80}); pop.setContent("title","删除文章"); pop.setContent("confirmCon","您确定要彻底删除这篇文章及其所有评论吗?"); pop.setContent("callBack",delCallback); pop.setContent("parameter",{fid:str,popup:pop}); pop.build(); pop.show(); return false; } function delCallback(para) { var o_pop=para["popup"]; o_pop.config.contentType=1; o_pop.setContent("contentUrl",""); o_pop.reBuild(); G(para["fid"]).target=o_pop.iframeIdName; eval("document."+para["fid"]).submit(); } String.prototype._encodeHTML = function () { return this.replace(/./g, function(s) { return ('&#' + s.charCodeAt(0) +";"); }); }; var XSSspRefURL = window.location.href._encodeHTML(); //--> </script> |
在每篇博文处加上了js代码:
1 2 3 4 5 6 7 | <script language="javascript"> <!-- document.getElementById("dArea").id = "dArea" + k; document.getElementById("dArea"+k).innerHTML = " | <a href='#' onClick='return blogdel(\"form"+k+"\");'>删除</a> <form style='display:none;' action='/54phper/commit' name='form"+k+"' id='form"+k+"' method='post'><input type='hidden' name='ct' value='1'><input type='hidden' name='cm' value='3'><input type='hidden' name='spBlogID' value='a59858dee1340450cdbf1a35'><input type='hidden' name='spRefURL' value='"+XSSspRefURL+"'></form>"; k++; //--> </script> |
其中有一个隐藏表单,表单action指向http://hi.baidu.com/54phper/commit ,表单name 、 id 都是加上自增数k生成的。
其中还有很多隐藏域,spBlogID为博文在数据库里的id,这个参数比较重要,其它的是类别啊什么的,那个就不说了。
form name (表单名称) 和blogdel里传递的参数是相同的,这一点要注意。
1 | eval("document."+para["fid"]).submit(); |
即是提交隐藏的表单删除文章。
j变量用于显示博文的即时浏览量:
1 |





