JSP 接收 FORM 提交

tsstx 2009-11-19 02:39:44
一个JSP页面接收其他页面提交过来的FORM表单,但是要求只接收当前站点及其子站点提交过来的FORM表单,其他站点提交过来的表单不接收,这个怎么设置?
...全文
228 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
4楼说的不错。
panhaichun 2009-11-20
  • 打赏
  • 举报
回复
楼主去搜索 "跨域提交"
howsun_zh 2009-11-20
  • 打赏
  • 举报
回复
过滤器行吗?
例如你的form表单的action是指向http://www.abc.com/submit.do
www.abc.com是你自己的网站。
现在有个黑客自己做个form表单,其中的域和你的一样,action也是指向http://www.abc.com/submit.do
保存在黑客电脑中,运行并提交,此时filter发现到URL上含有www.abc.com域,就放行了,恺不是没起作用?
再说,滥用filter对系统性能带来不必要的开销。

如果黑客写一个Http客户端,脱离浏览器请求,则更无法监控。

应该从http连接协议处考虑问题,http请求会带来客户端一些头部信息,从中分析出与自己网站请求不一样的特征所在。
zwen1573 2009-11-19
  • 打赏
  • 举报
回复
对,过滤器可以简单实现
yunhayuna 2009-11-19
  • 打赏
  • 举报
回复
本人也认为用过滤器! 不知哪位大虾有更好的方法! 写出来晒晒
ttwings 2009-11-19
  • 打赏
  • 举报
回复
好像用楼上的加正则表达式也可以起到类似的作用吧。。
closewbq 2009-11-19
  • 打赏
  • 举报
回复
完全不用,request.getURL判断下,是否以什么开头就行了。
zl3450341 2009-11-19
  • 打赏
  • 举报
回复
写个过滤器

参考楼上的代码
道光2008 2009-11-19
  • 打赏
  • 举报
回复


import java.io.IOException;
import java.io.OutputStream;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;



/**
* Copyright (c) 2007

* @date: Dec 7, 2007
* @verison 1.0
* @modify date
**/

public class CheckDomainFilter
extends HttpServlet
implements Filter {
public static long count = 0;
public static long totalMillSec = 0;

//Handle the passed-in FilterConfig
public void init(FilterConfig filterConfig) throws ServletException {


}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) {


HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;





try {

String serverName = req.getServerName();



// if (req.getRequestURI().indexOf("code.jsp") < 0) {

if (serverName != null && !serverName.equals("www.test.com") ) {
子站点处理

return;
} else {
主站点处理
}

// }




filterChain.doFilter(request, response);

}
catch (ServletException sx) {
sx.printStackTrace();

}
catch (IOException iox) {
iox.printStackTrace();

} catch(Exception e) {
e.printStackTrace();
}
finally {
}
}

public void destroy() {
}
}
caryyu 2009-11-19
  • 打赏
  • 举报
回复
用过滤器
filter
将当前站点及其子站点放一个目录
然后filter里面的路径配置成该目录

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧