以文本方式查看主题 - 智睿软件_技术交流论坛 (http://zhirui.net/bbs/index.asp) -- Web页面设计 (http://zhirui.net/bbs/list.asp?boardid=33) ---- 点击传值至表单的模块 (http://zhirui.net/bbs/dispbbs.asp?boardid=33&id=1402) |
||||
-- 作者:zhirui -- 发布时间:2012-05-15 15:30:39 -- 点击传值至表单的模块 点击传值至表单的模块
[此贴子已经被作者于2012-05-17 13:22:36编辑过]
|
||||
-- 作者:zhirui -- 发布时间:2012-05-15 19:44:05 --
|
||||
-- 作者:zhirui -- 发布时间:2014-07-04 15:50:58 -- <form name="mainform" action="a.jhtml" method="post" encType="multipart/form-data" > 表单自动提交传值 |
||||
-- 作者:zhirui -- 发布时间:2014-07-04 16:00:05 -- 方法一: <html> <head> <title>Untitled Document</title> (1)自动提交表单: <meta http-equiv="Content-Type" c> </head> <script language=javascript> setTimeout("document.form1.submit()",10000) </script> <body bgcolor="#FFFFFF" text="#000000"> <form name="form1" method="post" action="pp.asp"> <p> <input type="text" name="textfield"> </p> <p> <input type="text" name="textfield2"> </p> </form> </body> </html> 10秒后提交。 --------------------------------------------------------------------------------------------------------- 方法二: 我想打开一页a.htm时定时以表单形式向服务器b.htm提交数据,就好像申请100个邮箱,可以实现么? --------------------------------------------------------------- <form name="form1"> </form> <script> setInterval("document.all.form1.submit()",5000) </script> 5秒一次! --------------------------------------------------------------- 1.xmlhttp 2.<form action="" name=frm1 target=_blank method=post> </form> <script> setTimeout("frm1.submit();",3000); </script> --------------------------------------------------------------- 采用 window.setInterval和window.clearInterval 操作,比如下面脚本就是这样实现: <script language="Javascript">
var FormOBJ=document.forms["FormName"]; var SOBJ; //设置自动提交最大次数 var Max=100; //表单提交函数 function submitForm() { if (FormOBJ&&Max>0) { FormOBJ.action="b.htm";//提交到的页面 FormOBJ.target="_blank";//用新窗口处理提交 FormOBJ.submit();//执行提交 Max--; } else submitInt(); } //中断自动提交函数 function submitInt() { if (SOBJ) { window.clearInterval(SOBJ); Max=100; } } //开始自动提交函数 function submitStart() { //设置每秒钟提交表单一次 SOBJ=window.setInterval("submitForm()",1000); } </script> 可以在页面中设置两个按钮,分别执行submitStart()开始,submitInt()终止。其中“FormName”为要提交的表单名。同时要注意把脚本放在form后面。 |
||||
-- 作者:zhirui -- 发布时间:2014-07-04 16:12:24 -- 禁止外部提交数据 关于禁止外部提交数据,网络上有一些方法,不外乎以下几种方法: 1.就是使用服务器变量http_referer还有server_name两个变量进行比较,很多人认为这样做是安全的,事实并不是这样,referer这个变量是由客户端浏览器提交给服务器的,并不可靠,有很多方法可以伪造这个参数,从而使通过这种方法禁止外部提交数据的方法失效. 代码如下: <% server_v1=Cstr(Request.ServerVariables("HTTP_REFERER")) server_v2=Cstr(Request.ServerVariables("SERVER_NAME")) if mid(server_v1,8,len(server_v2))<>server_v2 then response.write "警告!禁止外部提交数据!" Response.Redirect "index.asp" end if %> 2.在提交数据的页面增加一个参数,通常就是一个随机数,当保存帖子的时候验证这个参数是否正确.可能很多人以为这样比较安全了.但实际上如果要实现验证,必须在数据提交的页面显示出这个随机变量,比如,虽然是隐含表单,但是仍然可以用程序轻松分析出这个参数,然后利用程序去提交.这一点很容易作到.--不过好象还没见到现成的工具哈 3.在保存数据的时候进行标题或者内容的检验,如过发现该ip或用户在短时间内发了相同内容(或相似内容)以及标题的,就丢弃数据,给出提示.不过这种一个是比较占用资源,这一点很好理解吧?每次保存数据都要进行检验.另外就是也并不见得安全.利用工具可以随机生成一些内容去发送,就可以绕过了,这也是比较容易的. 4.类似上面的方法2,不过使用图片验证码.由用户自行输入这个参数,这一点在目前看来应该是最安全的了,虽然有图片识别引擎,但是目前能够提交数据的工具均未发现有此功能的.因此至少在目前来说比较安全. |
||||
-- 作者:zhirui -- 发布时间:2014-07-04 16:15:20 -- <form name="form1" action="http://www.zhirui.net" method="post"> <input type="text" name="nr" id="nr" value="表单" /> </form> <script language="javascript"> document.form1.submit(); </script> |