如何防止非法请求

方案一:每个请求都带上一个由服务器生成的随机参数。然后在服务器端和对该参数,如果和下发的随机数不同,则可以认为有人在伪造请求。因为攻击者无法知道他本次攻击的http请求需要带什么样的随机数才是有效的。

方案二:跨域伪造之所以能成功,主要决定因素是攻击者的页面和稍候被打开的目标页面共享session信息。受害者登录后,攻击者的页面通过ajax向被攻击网站的关键业务发起的请求便自动带上了合法的session信息。但是,根据javascript的同源策略可知,挂有A域名的窗口,不能获取挂有B域名窗口中的任何信息,不管B是如何被打开的。据此,我们可以在客户端的每个要保护的业务链接上增加一个参数sessionId,这个参数可以通过js从cookie中获得。然后,在服务器端获取此参数,并同真正的sessionId做对比,如果不同,则认为请求是伪造的。因为攻击者的窗口无法从被攻击网站的窗口中取得这个sessionId。方案二的实现: 定义一个过滤器, 对页面传递过来的sessionid和实际sessionid进行比较, 相同则通过
定义过滤器,请求时增加sessionid参数

时间: 2024-11-08 19:29:38

如何防止非法请求的相关文章

Android—构建安全的Android客户端请求,避免非法请求

今天通过实例来介绍一下如何构建安全的Android客户端请求,避免非法请求: [0分下载Demo]

nginx通过http_host拒绝非法请求

通过http_host字段拒绝非法请求 在nginx的运行过程中,查看日志会发现有很多请求并不是请求你的服务器,那么你应该注意了,有可能是非法请求,要拒绝这种请求就需要通过判断http_host来阻断请求. 代码如下: server { server_name www.test.com; listen 8888; if ($http_host !~ "www.test.com:8888") { return 403; } include /etc/nginx/default.d/*.c

短信发送接口被恶意访问的网络攻击事件(二)肉搏战-阻止恶意请求

图形验证码+ip(用户id)+https http://www.cnblogs.com/han-1034683568/p/7040417.html 前言 承接前文<短信发送接口被恶意访问的网络攻击事件(一)紧张的遭遇战险胜>,在解决了短信发送的问题后,长长地舒了口气,也就各忙各的事情去了,本以为应该是个完美的收场,哪知道只是泥泞道路的前一段,收场是收不了了,还是要去应付接下来的烂摊子,因为攻击者并没有停止攻击,虽然恶意请求已经可以被识别并且不会被业务服务器处理,也不会去触发短信发送接口,但是请

Nginx+Lua+Redis 对请求进行限制

Nginx+Lua+Redis 对请求进行限制 一.概述 需求:所有访问/myapi/**的请求必须是POST请求,而且根据请求参数过滤不符合规则的非法请求(黑名单), 这些请求一律不转发到后端服务器(Tomcat) 实现思路:通过在Nginx上进行访问限制,通过Lua来灵活实现业务需求,而Redis用于存储黑名单列表. 相关nginx上lua或redis的使用方式可以参考我之前写的一篇文章: openresty(nginx).lua.drizzle调研 http://www.cnblogs.c

CSRF跨站请求伪造

CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用.尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左.XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站.与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性. ht

阿里云X-Forwarded-For 发现tomcat记录的日志全部来自于SLB转发的IP地址,不能获取到请求的真实IP。

1.背景:阿里云的SLB的负载均衡,在tomcat中获取不到真实IP,而是阿里的内网IP,SLB中俩台或者3台本身是局域网,这里是SLB原理,可以看看,没怎么看懂,呵呵,要细细读下. 2.需要开启tomcat的X-Forwarded-For,在tomcat/conf/server.xml中有一个如下的AccessLogValve 日志纪录功能,当配置中的pattern=common时,对应的日志是如下,无论正常请求和非法请求都会记录. <Valve className="org.apach

跨站点请求伪造(CSRF)

CSRF(Cross Site Request Forgery)跨站点请求伪造:攻击者诱使用户在访问 A 站点的时候点击一个掩盖了目的的链接,该链接能够在 B 站点执行某个操作,从而在用户不知情的情况下完成了一次对 B 站点的修改. CSRF 实现 Cookie 策略 Cookie 分为 Session Cookie(临时 Cookie) 和 Third-party Cookie(本地 Cookie).本地 Cookie 有失效时间,在失效时间内都可以使用.临时 Cookie 则在浏览器关闭后立

Asp.net中判断是否是指定页面请求的代码示例

//获取请求网址,非法请求,返回主页 if (Request.UrlReferrer != null) { string requstUrl = Request.UrlReferrer.AbsolutePath.ToString(); if (requstUrl != "/Goods/SubmitOrder.aspx") { Response.Redirect("../Activity/Default.aspx"); } } else { Response.Redi

阿里云X-Forwarded-For 发现tomcat记录的日志所有来自于SLB转发的IP地址,不能获取到请求的真实IP。

1.背景:阿里云的SLB的负载均衡,在tomcat中获取不到真实IP,而是阿里的内网IP,SLB中俩台或者3台本身是局域网,这里是SLB原理,能够看看.没怎么看懂.呵呵,要细细读下. 2.须要开启tomcat的X-Forwarded-For,在tomcat/conf/server.xml中有一个例如以下的AccessLogValve 日志纪录功能.当配置中的pattern=common时.相应的日志是例如以下,不管正常请求和非法请求都会记录. <Valve className="org.a