出错也只是自己知道就得了,如何屏蔽Js页面报错

错误总归会有的,自己调,自己知道就好了,别显示了
现在我们来屏蔽js报错
<SCRIPT LANGUAGE=’JavaScript’>
<!–
//屏蔽js错误
function ResumeError() {
return true;
}
window.onerror = ResumeError;
// –>
</SCRIPT>


javascript里的document.all与document.getElementById

从IE4开始IE的object model增加了document.all[],它是文档中所有标签组成的一个数组变量,包括了文档对象中所有元素。因此document.all[]这个数组可以访问文档中所有元素。
而getElementById()可以访问DOCUMENT中的某一特定元素,顾名思义,就是通过ID来取得元素,所以只能访问设置了ID的元素。比如说有一个DIV的ID为docid:

那么就可以用getElementById(”docid”)来获得这个元素。
但实际应用的时候,兼容性却大不一样。有人说ocument.all是个ie only的方法,所以我们必须注意使用
1.页面控件一定要加id。
2.操纵控件最好用document.getElementById
3.推荐几个其他的办法
getElementsByTagName(”*”) 可以得到得到所有元素的集合
getElementsByName 可以得到按name属性得到某一元素


discuz被黑详解

[该漏洞由ring04h发现并且投递,thx]
由于Discuz!的1_modcp_editpost.tpl.php里$orig['message']未过滤,导致一个xss漏洞.
一 分析
在文件1_modcp_editpost.tpl.php里代码:
<? } elseif($action == ‘editmessage’) { ?>
<textarea type=”text” id=”message_<?=$pid?>” name=”message_<?=$pid?>” style=”width: 80%; height: 200px; overflow: visible” ondblclick=”doane(event)”><?=$orig['message']?></textarea>
<p style=”margin: 5px; text-align: center;”>
<button type=”button” value=”true” class=”submit” onclick=”submitmessage(’<?=$pid?>’);this.disabled=true”>提交</button>&nbsp;&nbsp;
<button type=”button” class=”submit” onclick=”ajaxget(’modcp.php?action=editmessage&pid=<?=$pid?>&tid=<?=$tid?>&editmessagesubmit=yes&inajax=1&do=notupdate’, ‘postmessage_<?=$pid?>’)”>取消</button>
</p>
<script type=”text/javascript”>
<?=$orig['message']?>没有过滤导致xss.
进入以上的代码的有2处:
1. 1_viewthread.tpl.php里:
<td class=”postcontent” <? if($forum['ismoderator'] && ($thread['digest'] >= 0 || !$post['first'])) { ?> ondblclick=”ajaxget(’modcp.php?action=editmessage&pid=<?=$post['pid']?>&tid=<?=$post['tid']?>’, ‘postmessage_<?=$post['pid']?>’)”<? } ?>>
<div class=”postinfo”>
通过ondblclick事件触发ajaxget去访问.
2. \Beijing2008\forumdisplay.htm
</td>
<th class=”$thread[folder]” {if $forum['ismoderator']} ondblclick=”ajaxget(’modcp.php?action=editsubject&tid=$thread[tid]‘, ‘thread_$thread[tid]‘, ’specialposts’);doane(event);”{/if}>
<label>
同上下面的利用是用的1_viewthread.tpl.php里的方法.
如何利用:
1.发表新贴 [...]


如何解决php程序使用javascript调用的换行问题

网站的数据调用中,js调用使用最为频繁,其中document.write是最基本的函数。
不过javascript的document.write的参数串中是不允许出现换行符的,单凭这一点,就给我们造成很多麻烦
我们有两种解决方案
如果有可以删除可以这样:$text=preg_replace(”/[\r\n]+/”,””,$text);
但直接删除有可能发生js错误,所以应该进行转义处理
$text=preg_replace(”/[\r\n]+/”,”\\n”,$text);
另外用php书写js串时要注意转义php串中的引号