针对伪造的数据从url提交的情况,首先是一个检查前一页来源的如下代码:
这个方法只能防止手动在浏览器地址栏上输入的url。
事实上只要在服务器上构造出一个指向该url的超链接(www.bitscn.com)比如在发贴时加入超链,再点击,这个check就完全不起作用了。
目前觉得还是用post的方法传递重要数据比较可靠。
可以在form中插入一些隐藏的text用于传递数据。
或者使用下面的方法,利用ajax从客户端向服务器提交数据。
/*创建xhr对象*/function createxhr(){if (window.xmlhttprequest){var ohttp = new xmlhttprequest();return ohttp;} else if (window.activexobject){var versions = [msxml2.xmlhttp.6.0,msxml2.xmlhttp.3.0];for (var i = 0; i < versions.length; i++){try {var ohttp = new activexobject(versions[i]);return ohttp;} catch (error) {}}}throw new error(你的浏览器不支持ajax!);}/*用ajax向page页面传递数据*/function ajaxpost(url,query_string=''){var xhr;xhr = createxhr();xhr.open('post',url,false);xhr.setrequestheader(content-type, application/x-www-form-urlencoded; charset=gb2312);xhr.onreadystatechange = function(){if (xhr.readystate == 4)if (xhr.status != 200)return;}xhr.send(query_string);}