cookie

ASP.NET如何防止页面重复提交

荒凉一梦 提交于 2019-12-17 06:34:58
1. System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("if (typeof(Page_ClientValidate) == 'function') { if (Page_ClientValidate() == false) { return false; }}");//保证验证函数的执行 sb.Append("if(window.confirm('提醒:您确定要进行此次操作吗?')==false) return false;");//自定义客户端脚本 sb.Append("disableOtherSubmit();");// disable所有submit按钮 sb.Append(ClientScript.GetPostBackEventReference(this.btnSubmit,null));//用__doPostBack来提交,保证按钮的服务器端click事件执行 sb.Append(";"); btnSubmit.Attributes.Add("onclick", sb.ToString()); 2. 捕获回车事件时,表单重复提交问 ... 今天在页面中捕获回车事件,发现提交表单时,会重复提交,最后在方法后面加一个return false,问题才得以解决。

django配置*app*登录案例*orm简用

蓝咒 提交于 2019-12-17 05:20:03
1.静态文件的配置和使用 1.静态文件的配置和使用 没有css样式: 添加样式 结果: <html lang="en"> <head> <meta charset="utf-8"> <title>Signin Template for Bootstrap</title> <!-- Bootstrap core CSS --> <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <link href="../../assets/css/ie10-viewport-bug-workaround.css" rel="stylesheet"> <!-- Custom styles for this template --> <link href="signin.css" rel="stylesheet"> <!-- Just for debugging purposes. Don't actually copy these 2 lines! --> <!--[if lt IE 9]><script src="../../assets

六、CsrfViewMiddleware

廉价感情. 提交于 2019-12-17 05:16:34
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。 关于更多关于CSRF的介绍,请参考以下链接: http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet#CSRF_Specific_Defense Django应对CSRF攻击的机制是通过csrftoken(HTTP请求)或者csrftoken + HTTP_REFERER(HTTPS)来实现的。 CSRF防护的粒度主要有两类: 1、全局使能,所有视图(view)使能CSRF认证。 这个主要通过CsrfViewMiddleware中间件来实现。当该中间件添加到setting.py的MIDDLEWARE列表内时,即使能了CSRF中间件

Vulnhub-MyExpense: 1-Writeup

泄露秘密 提交于 2019-12-17 04:13:48
个人博客地址 http://www.darkerbox.com 欢迎大家学习交流 靶机网址: https://www.vulnhub.com/entry/myexpense-1,405/ 靶机知识点: nmap xss stored dirb 靶机ip 192.168.34.157 kali ip 192.168.34.80 靶机描述 MyExpense是一个故意存在漏洞的Web应用程序,它使您可以训练如何检测和利用不同的Web漏洞。与更传统的“挑战”应用程序(允许您训练单个特定漏洞)不同,MyExpense包含一组漏洞,您需要利用这些漏洞来实现整个方案。 情境 您是“ Samuel Lamotte”,而您刚被公司“ Furtura Business Informatique”开除。不幸的是,由于您匆忙离开,您没有时间验证您的上一次商务旅行的费用报告,该报告仍为750欧元,对应于飞往您的最后一个客户的返程航班。 由于担心您的前雇主可能不想为您退还该费用报告,因此您决定入侵名为“ MyExpense”的内部应用程序来管理员工费用报告。 这样您就可以在汽车上,公司停车场中并且连接到内部Wi-Fi(出发后钥匙仍未更改)。该应用程序受用户名/密码验证保护,您希望管理员尚未修改或删除您的访问权限。 您的凭据是:samuel / fzghn4lw 挑战完成后,该标志将在与您的(samuel

CSRF攻击

…衆ロ難τιáo~ 提交于 2019-12-17 02:57:22
django攻击 csrf攻击 xss攻击 clickjacking攻击 sql注入 CSRF攻击: CSRF攻击概述: CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一。其他安全隐患,比如 SQL 脚本注入,跨站域脚本攻击等在近年来已经逐渐为众人熟知,很多网站也都针对他们进行了防御。然而,对于大多数人来说,CSRF 却依然是一个陌生的概念。即便是大名鼎鼎的 Gmail, 在 2007 年底也存在着 CSRF 漏洞,从而被黑客攻击而使 Gmail 的用户造成巨大的损失。 CSRF攻击原理: 网站是通过 cookie 来实现登录功能的。而 cookie 只要存在浏览器中,那么浏览器在访问这个 cookie 的服务器的时候,就会自动的携带 cookie 信息到服务器上去。那么这时候就存在一个漏洞了,如果你访问了一个别有用心或病毒网站,这个网站可以在网页源代码中插入js代码,使用js代码给其他服务器发送请求(比如ICBC的转账请求)。那么因为在发送请求的时候,浏览器会自动的把 cookie 发送给对应的服务器,这时候相应的服务器(比如ICBC网站),就不知道这个请求是伪造的,就被欺骗过去了。从而达到在用户不知情的情况下,给某个服务器发送了一个请求(比如转账)。 防御CSRF攻击:

Django 设置 cookie 中的 csrftoken

感情迁移 提交于 2019-12-17 02:25:17
遇到一个问题是,CMDB项目的前端删除数据要向后端发送 DELETE 请求,需要验证 CSRF 。但是之前项目一直都是 GET 请求获取的数据,浏览器的 cookies 中没有 csrftoken 的值,而发送请求之前是从 cookies 中获取 csrftoken 的值,没有值也就没法通过验证。所以就要人为的设置一下 cookies 中的 csrftoken 值。   出现这个问题的前提是:   1、习惯ajax方式提交POST等请求;   2、习惯从cookie中找csrftoken;   一般我们认为cookie里的csrftoken是由csrftoken middleware所设置的,事实确实如此,但也不完全是。贴一段CsrfViewMiddleware的代码: def process_response(self, request, response): if not getattr(request, 'csrf_cookie_needs_reset', False): if getattr(response, 'csrf_cookie_set', False): return response if not request.META.get("CSRF_COOKIE_USED", False): return response # Set the CSRF cookie

CSRF基础学习

。_饼干妹妹 提交于 2019-12-17 02:10:41
CSRF 上一篇博客说的是XSS跨站脚本攻击,现在说的是另一种跨站攻击,CSRF(Cross-Site Request Forgery),跨站请求伪造。 1、概述 正如其名,CSRF是伪造请求,就是冒充用户在站内进行正常操作。我们知道,绝大多数网站是通过Cookie等方式辨别用户身份(包括使用服务器端Session的网站,因为Session ID也是保存在Cookie里面),再予以授权。这就是为什么要保护好用户的Cookie。所以要想要伪造用户的正常操作,就是要偷Cookie了,那么可能就和上一篇里面说过的XSS优点关联了,利用XSS攻击获取被攻击者的Cookie,在或者就是使用链接欺骗等途径,让用户在本机发起用户所不知道的请求,这里说的本机是拥有Cookie的浏览器端。 2008年时由多个国内外大型社区和交互网站爆出CSRF漏洞,也是让大家聚焦这个漏洞。其实这种攻击方式在2000年就已经被国外的安全人员提出,但是在国内,直到2006年才开始被关注。 2、分类 CSRF漏洞的攻击一般分为站内和站外两种类型。 CSRF站内类型的漏洞一般都是因为程序员滥用 $_REQUEST类变量造成的,一些敏感数据本来应该使用POST请求传参,但是因为使用了 $_REQUEST等变量,程序也可以接受GET类型请求传参,这样无形之中就给攻击者提供了使用CSRF的条件

08_1_Cookie&Session

老子叫甜甜 提交于 2019-12-17 01:32:50
会话技术 1. 会话:一次会话中包含多次请求和响应。 * 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 2. 功能:在一次会话的范围内的多次请求间,共享数据 3. 方式: 1. 客户端会话技术:Cookie 2. 服务器端会话技术:Session Cookie: 1. 概念:客户端会话技术,将数据保存到客户端 2. 快速入门: * 使用步骤: 1. 创建Cookie对象,绑定数据 * new Cookie(String name, String value) 2. 发送Cookie对象 * response.addCookie(Cookie cookie) 3. 获取Cookie,拿到数据 * Cookie[] request.getCookies() 3. 实现原理 * 基于响应头set-cookie和请求头cookie实现 4. cookie的细节 1. 一次可不可以发送多个cookie? * 可以 * 可以创建多个Cookie对象,使用response调用多次addCookie方法发送cookie即可。 @WebServlet("/cookieDemo1") public class cookieDemo1 extends HttpServlet { protected void doPost(HttpServletRequest req,

nginx配置正向代理支持HTTPS

北战南征 提交于 2019-12-17 00:58:28
nginx当正向代理的时候,通过代理访问https的网站会失败,而失败的原因是客户端同nginx代理服务器之间建立连接失败,并非nginx不能将https的请求转发出去。因此要解决的问题就是客户端如何同nginx代理服务器之间建立起连接。有了这个思路之后,就可以很简单的解决问题。我们可以配置两个SERVER节点,一个处理HTTP转发,另一个处理HTTPS转发,而客户端都通过HTTP来访问代理,通过访问代理不同的端口,来区分HTTP和HTTPS请求。 #HTTP server{ resolver 8.8.8.8; access_log /data/logs/nginx/access_proxy.log main; listen 80; location / { root html; index index.html index.htm; proxy_pass $scheme://$host$request_uri; proxy_set_header HOST $http_host; proxy_buffers 256 4k; proxy_max_temp_file_size 0k; proxy_connect_timeout 30; proxy_send_timeout 60; proxy_read_timeout 60; proxy_next_upstream error

Django之视图

狂风中的少年 提交于 2019-12-16 23:59:05
Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。 无论视图本身包含什么逻辑,都要返回响应。 代码写在哪里也无所谓,只要它在你当前项目目录下面。 除此之外没有更多的要求了——可以说“没有什么神奇的地方”。 为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为 views.py 的文件中。 一个简单的视图 下面是一个以HTML文档的形式返回当前日期和时间的视图: from django.http import HttpResponse import datetime def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse(html) 让我们来逐行解释下上面的代码: 首先,我们从 django.http 模块导入了 HttpResponse 类,以及Python的 datetime 库。 接着,我们定义了 current_datetime 函数。