`
haimav
  • 浏览: 57126 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

防止外部提交表单

    博客分类:
  • asp
阅读更多

<%

server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))//获取地址栏中的地址,并将它赋给server_v1

server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))//获取url中的域名信息,赋给server_v2


if mid(server_v1,8,len(server_v2))<>server_v2 then 或者用 if Instr(server_v1, "show_index")=0 then//就是地址没有show_index的时候
     response.write "<script>alert('警告!你正在从外部提交数据!!请立即终止!!\n你的IP已经被记录,如果再次来');</script>"

QQ:9231333

Response.Redirect "http://www.yy66.net
"
end if

%>

注:
1.判断链接的地址是否就是自己服务器的,如果不是,说明是盗链的,这样就可以简单地实现防盗链。

2.Mid(server_v1,8,Len(server_v2))中为什么是8:
a.Request.ServerVariables("HTTP_REFERER")返回的地址中包括[http://]的开头,(返回调用这个asp页面的是哪一个页面,即看这个页面是被哪个页面所调用的,也就是说:
有a.asp和b.asp两个页面,在a.asp中点击链接到b.asp,或是a.asp中用表单提交数据到b.asp,或是用脚本跳转到b.asp, 那么在b.asp中用request.servervariables("HTTP_REFERER")方法取得的字符串就是a.asp的URL路径。)
b.而Request.ServerVariables("SERVER_NAME")只是返回服务器名称,不包括[http://],后面也没有文件的路径+文件名。
[http://]就正好7个字符了。所以从第8个字符开始,读取Request.ServerVariables("SERVER_NAME")那么长的字符来比较。

 

分享到:
评论

相关推荐

    PHP表单提交开发实例

    9. **CSRF防护**:为了防止未经授权的第三方提交表单,可以生成并验证CSRF(跨站请求伪造)令牌。在表单中添加隐藏字段,服务器端验证令牌的有效性。 10. **提交后的重定向**:提交成功后,可以使用`header()`函数...

    背景动画用户登录界面表单提交验证代码

    这可能使用JavaScript实现,通过对`onsubmit`事件的监听,当用户尝试提交表单时,验证函数会被调用。验证通常检查用户名是否为空、密码是否符合复杂度要求(长度、特殊字符等),并且可能会包含实时反馈,如使用`...

    ASP的两个简单的检测外部提交函数

    `HTTP_Referer`(有时也拼写为`HTTP_REFERER`)是最常用来防止外部提交的一个HTTP头部字段。当用户点击一个链接或提交表单时,浏览器通常会将当前页面的URL放入请求头的`Referer`字段中发送给服务器。这样,服务器...

    ASP实例开发源码—asp.net(c571)等待效果和防止多次提交的代码.zip

    一种常见的方法是在表单提交后禁用提交按钮,或者设置一次性令牌(Token)。在ASP.NET中,可以通过`ViewState`或`Session`来存储一个唯一的标识,当用户第一次提交时验证该标识,如果已存在则拒绝再次提交。此外,还...

    ThinkPHP提交表单时默认自动转义的解决方法

    在ThinkPHP中,默认情况下,提交表单时会对数据进行自动转义,这是为了防止SQL注入攻击。自动转义涉及在单引号(')和双引号(")周围添加反斜杠(\)。例如,字符串 "hds"gh"j'g'h" 在ThinkPHP中会被自动转义为 "hds\"gh\...

    泛微OA-E9流程表单前端接口API(V21).pdf

    - 第二种是使用EM-SDK来弹出webview,这需要通过EM-SDK的接口来控制表单的打开以及返回/提交后的回调事件。 5. 后端请求区分终端 后端请求在区分终端时,可以通过_isMobile参数来判断请求是从移动端发起还是PC端...

    详细讲解—表单验证框架的实现

    `submitHandler`函数用于在验证通过后提交表单。 总结来说,表单验证框架的实现涉及到前端和后端的交互。前端使用HTML、CSS和JavaScript(如jQuery和jQuery Validate插件)创建和验证表单,后端(如Servlet)负责...

    joomla表单插件

    - **自定义动作**:表单提交后,你可以设置多种操作,如发送邮件通知、存储数据到数据库、重定向用户到其他页面等。 - **验证规则**:ChronoForms支持字段验证,例如必填项检查、电子邮件格式验证、数字范围限制等...

    jQuery提交多个表单的小例子

    - **异步处理**:如果可能,可以使用Ajax异步提交表单,这样可以提供更好的用户体验,因为页面不会刷新,用户可以继续浏览其他内容,而数据在后台处理。 - **错误处理**:确保对任何可能出现的错误进行捕获和处理,...

    原生js简单的登录表单验证代码.zip

    除此之外,还需提供一个提交按钮,让用户能够提交表单。为了增强用户体验,表单中还应包含必要的错误提示信息,当用户输入不符合要求时,通过JavaScript动态显示错误提示。 接下来,我们使用CSS3对表单进行样式设计...

    轻松搞定js表单验证

    在实际的表单验证过程中,当用户提交表单时,验证库的代码会运行,对表单中每个需要验证的输入元素进行校验。如果输入项没有通过验证,通常会有以下几种处理方式: 1. 浏览器会自动阻止表单的提交。 2. 通过脚本弹...

    阿江表单邮件 v1.0

    "阿江表单邮件 v1.0"可能需要采取措施防止垃圾邮件的滥用,比如添加验证码或者限制发送频率。同时,为了保护用户隐私,表单数据的处理和传输应当遵循数据保护法规,确保敏感信息的安全。 在实际应用中,"阿江表单...

    jsp防止跨域提交数据的具体实现

    例如,如果一个用户试图从外部网站提交数据到一个JSP应用,那么Referer头部字段将不会匹配应用的域名。 3. 设置白名单 在过滤器的代码中,可以看到有一个字符串数组ignoreURIS,该数组中存放的是不需要进行跨域...

    原生JS经典小项目-form表单校验

    原生JavaScript的表单校验则是为了确保用户输入的数据符合预期格式和规则,提高用户体验,防止无效或恶意数据的提交。这个经典小项目旨在通过JavaScript实现对HTML表单的验证,无需依赖外部库如jQuery或其他前端框架...

    简单的vote表单,可以当作vote的上传

    这些元素通过`&lt;form&gt;`标签定义,使用`action`属性指定提交表单的PHP脚本地址,`method`属性设定数据传输方式(通常是POST)。 2. **PHP处理**:当用户提交表单后,服务器端的PHP脚本接收到数据。它需要验证数据的...

    点击提交按钮后按钮变灰色不可用状态的三种方法

    当点击提交后,提交按钮变灰色不可用,这样可有效防止重复提交,本代码就是实现这样一个功能。从代码就可以看出,我们只需在提交按钮上加入这一句: onclick=”[removed]{this.disabled=true;document.form1.submit...

    Vue制作良好交互的信用卡表单特效代码.zip

    在提交表单时,可以使用`event.preventDefault()`防止页面刷新,并在`methods`中定义一个处理函数来处理提交逻辑。 6. **错误处理**:通过设置`v-bind:class`或`v-bind:style`,可以根据条件动态地切换类或样式,...

    驰骋工作流程引擎,表单引擎

    2. **数据验证**:对用户提交的数据进行验证,确保其符合业务规则,防止无效数据的输入。 3. **表单关联**:可以与工作流程中的任务节点关联,当任务到达时自动显示相应表单,完成数据填写后提交。 4. **动态表单*...

    解决jquery submit()提交表单提示:f[s] is not a function

    在使用jQuery进行网页开发时,有时会遇到这样一个问题:当你尝试使用`submit()`函数来提交表单时,浏览器会抛出一个错误:“f[s] is not a function”或“document.getElementByIdx_x(...).submit is not a function...

    将InfoPath表单连接到Access数据库

    1. 填写并提交表单,检查数据是否正确地存储到Access数据库中。 2. 使用Access查询工具验证数据完整性。 ### 关键技术点 - **数据绑定**:确保InfoPath表单中的每个字段都能准确地与Access数据库中的相应列绑定。 ...

Global site tag (gtag.js) - Google Analytics