public static boolean validate(HttpServletRequest request){
String Referer="";
boolean referer_sign=true; //true 站内提交,验证通过 //false 站外提交,验证失败
Enumeration headerValues = request.getHeaders("Referer");
while (headerValues.hasMoreElements())
Referer =(String)headerValues.nextElement();
//判断是否存在请求页面
if(Referer==null || Referer.length()<1 )
referer_sign=false;
else
{
//判断请求页面和getRequestURI是否相同
String servername_str=request.getServerName();
if(servername_str!=null || servername_str.length()>0)
{
int index=0;
if (StringUtils.indexOf(Referer, "https://")==0){
index=8;
}
else if (StringUtils.indexOf(Referer, "http://")==0){
index=7;
}
if(Referer.length()-index<servername_str.length()) //长度不够
referer_sign=false;
else
{ //比较字符串(主机名称)是否相同
String referer_str=Referer.substring(index,index+servername_str.length());
if(!servername_str.equalsIgnoreCase(referer_str))
referer_sign=false;
}
}
else
referer_sign=false;
}
return referer_sign;
}
分享到:
相关推荐
#### 防止跨域提交表单的方法 在PHP开发中,防止跨域提交表单可以通过以下几种方式实现: ##### 1. 服务端验证 这是最直接也是最有效的方法之一。当用户提交表单时,除了前端的验证外,还需要在后端进行进一步的...
### 异步跨域提交表单 当需要将表单数据提交到另一个域的服务器时,就涉及到跨域问题。由于浏览器的安全策略,不允许通过Ajax直接使用GET或POST方法进行跨域请求。为了实现跨域提交,我们通常采取以下几种策略: #...
"js跨域iframepostMessage提交表单"的解决方案提供了一种优雅的方式,使得在不刷新页面的情况下,能够实现跨域提交表单,包括含文件上传的部分,并且能够接收返回值。以下将详细解析这个技术点。 首先,跨域是由于...
### jsp防止跨域提交数据的具体实现 #### 概述 跨域问题一直是Web开发中的一个常见问题。当用户浏览器发起请求时,由于同源策略的限制,不同域名下的资源不能互相访问。为了保证网站安全,JSP项目也需要考虑如何...
在当前的Web开发中,跨域资源共享...通过本文提供的两种方法,PHP开发者可以更好地解决跨域提交表单时遇到的问题,提升应用的交互性和用户体验。同时,不断深入学习和实践PHP相关知识也是提升开发能力的必要途径。
在JSP中实现防止跨域提交数据的功能,通常有以下几种方法: 1. 使用过滤器(Filter)进行拦截 在JSP中可以通过定义过滤器来检查每个请求是否符合特定的条件。比如,在过滤器中检查HTTP请求头中的Referer字段,以...
无刷新提交表单是Web开发中的一个重要技术,它允许用户在不重新加载整个网页的情况下更新部分页面内容。这种技术极大地提升了用户体验,因为它减少了等待时间和网络流量。本文将深入探讨无刷新提交表单的实现原理、...
要提交表单,可以这样使用: ```javascript $.ajax({ url: 'your-server-url', // 替换为实际服务器端接口地址 type: 'POST', // 或者 'GET',取决于服务器端期望的HTTP方法 data: formData, // 之前使用...
本文将深入探讨如何使用jQuery的ajax方法来提交表单,从而实现异步数据交换,提高用户体验。 首先,jQuery的$.ajax()函数是进行Ajax请求的核心,它允许我们与服务器进行异步数据通信。在“使用jQuery ajax提交表单...
这将告诉浏览器以UTF-8编码提交表单数据。但请注意,这并不保证服务器端会正确处理,还需要服务器端的配合。 3. 服务器端处理:在JSP中接收表单数据时,可以通过设置请求对象的编码来确保正确解码。通常在Servlet...
### AJAX提交表单知识点详解 #### 一、概述 在Web开发中,异步JavaScript与XML(Asynchronous JavaScript and XML,简称AJAX)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器...
跨域是为了安全考虑,浏览器的同源策略限制,主要是为了防止恶意攻击,例如, token 的盗用。现在的安全框架,一般请求的时候 header 中不是都存个 token 吗?你要是用这个 token 去正常访问 A 域下的东西是没问题的...
"post"则是HTTP协议中的一个方法,用于向服务器发送数据,通常用于提交表单或者上传文件。 要实现"跨域post上传图片",我们需要解决两个主要问题:跨域限制和文件上传。HTML5引入了File API,使得在前端处理文件变...
配置文件中定义了一个名为`ftpUpload`的动作,当用户提交表单时,请求会被转发到`FTPAction`类的`ftpUpload`方法处理。 5. **后端实现**:在`FTPAction`类中,使用了Apache Commons Net库的`FTPClient`来实现FTP...
### XSS跨域攻击知识点详解 #### 一、XSS攻击概览 - **定义与起源**:跨站脚本(Cross-Site Scripting,简称XSS)是一种常见的Web应用程序安全漏洞,最早出现于1996年。XSS攻击利用的是网站对用户输入数据过滤不严...
- 防止重复提交:使用`event.preventDefault()`阻止默认的表单提交行为,同时添加逻辑控制。 - 提交按钮禁用:在验证过程中,可以将提交按钮设为禁用状态,防止用户快速点击导致多次提交。 - 错误消息显示:正确...
`jQuery Form JS` 是一个用于处理HTML表单的JavaScript插件,它极大地简化了异步提交表单(AJAX)和处理表单验证的过程。这个插件是基于流行的jQuery库构建的,使得在网页上创建交互式、动态的表单提交功能变得简单...
总体来说,文章所介绍的方法可以让开发者更加高效和便捷地处理表单数据的提交问题,特别是在需要处理大量表单数据或者需要无刷新用户体验的场景下,使用jQuery进行Ajax批量提交表单数据具有非常高的实用价值。