alert

检测JavaScript中的箭头键按下

隐身守侯 提交于 2020-02-27 00:59:40
如何检测何时按下箭头键之一? 我用它来找出: function checkKey(e) { var event = window.event ? window.event : e; console.log(event.keyCode) } 尽管它适用于所有其他键,但不适用于箭头键(可能是因为默认情况下浏览器应该在这些键上滚动)。 #1楼 我也一直在寻找这个答案,直到我看到这篇文章。 我发现了另一个解决方案,可以根据我的问题来了解不同键的键码。 我只是想分享我的解决方案。 只需使用keyup / keydown事件将值写入控制台/使用 event.keyCode 相同的方式进行提醒。 喜欢- console.log(event.keyCode) // or alert(event.keyCode) -卢比 #2楼 再次,你需要回答 keydown 没有 keypress 。 假设您想在按下键的同时连续移动某些内容,我发现 keydown 适用于Opera以外的所有浏览器。 对于Opera, keydown 仅会触发第一次按下。 为了适应Opera的使用: document.onkeydown = checkKey; document.onkeypress = checkKey; function checkKey(e) { etc etc #3楼 可能是最恰当的表述:

JS —— 闭包

纵饮孤独 提交于 2020-02-27 00:31:21
变量作用域 闭包的概念 闭包的用途 深入理解闭包 闭包的应用场景 Javascript的垃圾回收机制 JavaScript匿名函数详细介绍 变量作用域 两种变量作用域: 全局变量 局部变量 理解下面三段JS函数 var n = 999 ;    function f1 ( ) {     alert ( n ) ;    }    f1 ( ) ; // 999 function f1 ( ) {    var n = 999 ; } alert ( n ) ; // error function f1 ( ) {   n = 999 ; } f1 ( ) ; alert ( n ) ; // 999 返回顶层目录 闭包的概念 官方解释:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 通俗解释: JavaScript中所有的function都是一个闭包。 闭包就是能够读取其他函数内部变量的函数。 由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。 返回顶层目录 闭包的用途 闭包的两个用途: 一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。

XSS攻击

穿精又带淫゛_ 提交于 2020-02-26 23:29:51
XSS攻击的介绍 在开始本文之前,我们先提出一个问题,请判断以下两个说法 是否正确 : XSS 防范是后端 RD(研发人员)的责任,后端 RD 应该在所有用户提交数据的接口,对敏感字符进行转义,才能进行下一步操作。 所有要插入到页面上的数据,都要通过一个敏感字符过滤函数的转义,过滤掉通用的敏感字符后,就可以插入到页面中。 如果你还不能确定答案,那么可以带着这些问题向下看,我们将逐步拆解问题。 XSS漏洞的发生和修复 XSS 攻击是页面被注入了恶意的代码,为了更形象的介绍,我们用发生在小明同学身边的事例来进行说明。 一个案例 某天,公司需要一个搜索页面,根据 URL 参数决定关键词的内容。小明很快把页面写好并且上线。代码如下: <input type="text" value="<%=getParameter("keyword")%>"> <button>搜索</button> <div> 您搜索的关键词是:<%=getParameter("keyword")%> </div> 然而 ,在上线后不久,小明就接到了安全组发来的一个神秘链接: http://xxx/search?keyword="><script>alert('XSS');</script> 小明带着一种不祥的预感点开了这个链接 [请勿模仿,确认安全的链接才能点开] 。果然,页面中弹出了写着”XSS”的对话框。 可恶

xss练习闯关

被刻印的时光 ゝ 提交于 2020-02-26 18:53:30
https://xss.haozi.me/ 0x00 无任何限制 payload如下: <script>alert("liuxixi")</script> 0x01 先输入xxx发现就存在于<textarea></textarea>之前显示,那么我们需要把前后进行闭合,最后才会显示我们输入的内容。 payload如下: </textarea><script>alert("liuxixi1")</script><textarea> 0x02 先输入xxx发现输的内容在双引号内,发现前面有三个双引号,那么肯定是没有闭合。 构造payload。闭合前面的双引号,这里需要注意的是input前面的 < 也要闭合。 payload如下: "><script>alert("liuxixi2")</script><" 0x03 查看后端代码,发现过滤了(),那么我们同样可以用反引号来代替()就行了 payload如下: <script>alert`liuxixi3`</script> 0x05 同样的方法,输入xxx发现输入内容存在于<!-- -->之间,那么我们还是将前后进行闭合,最终显示我们输入的内容。 payload如下: --!><script>alert("liuxixi5")</script><-- 0x06 我们输入前面任意一个payload,发现 > 会变成 _ 符号。

js正则

守給你的承諾、 提交于 2020-02-26 07:27:43
js正则 首先我们要了解什么是正则表达式? 正则表达式是构成搜索模式(search pattern)的字符序列。 当您搜索文本中的数据时,您可使用搜索模式来描述您搜索的内容。 正则表达式可以是单字符,或者更复杂的模式。 正则表达式可用于执行所有类型的文本搜索和文本替换操作。 创建一个正则 1、通过new创建正则 var num = new RegExp("hello", "ig"); 2、省略new创建正则 var num = RegExp("hello", "ig"); 3、正则常量赋值 var eg = /hello/ig; 正则可以传入两个参数: 1、正则主体部分,一般情况下就是字符串 2、 修饰符 (没有先后顺序) i 忽略大小写 g 全局匹配 m 换行匹配 正则表达式的常用方法 1.test 语法:正则.test(字符串); 功能:在字符串中匹配正则是否存在 返回值:如果存在返回true 如果不存在就返回false var str = "how aRe you"; var num = /are/i; //匹配are忽略大小写 alert(num.test(str)); //返回true 2.exec 格式:正则.exec(字符串) 功能:在字符串中匹配正则是否存在 返回值:如果存在返回一个数组,数组里面存放着匹配的内容.如果不存在,返回null alert(num

console.log showing contents of array object

女生的网名这么多〃 提交于 2020-02-26 05:05:08
问题 I have tried using console.log so I can see the content of my array that contains multiple objects. However I get an error saying console.log is not an object etc. I'm using jquery 1.6.2 and my array is like this: filters = {dvals:[{'brand':'1', 'count':'1'}, {'brand':'2', 'count':'2'}, {'brand':'3', 'count':'3'}]} console.log(filters); What I want to to do is write out the contents of array(filters) to an alert box (that's what I thought console.log did) in the filters format. How do I do

Azure Monitor Alerting

Deadly 提交于 2020-02-26 01:50:10
前面的文章中和大家一起讨论了如何使用Azure Monitor去收监视服务的运行状态以及系统的资源使用情况,来帮助我们了解系统的运行状况。但是想必大家都清楚,我们有很多工作要去完成,没有时间24小时的盯着监控屏幕,所以我们就需要在监控到问题时,通过邮件,短信,电话等告警方式来提示我们进行处理,从而确保系统的稳定运行。在Azure中,我们可以使用Alert来实现这一功能。 为了可以更好的使用Alert,我们需要了解如下事情: 指标警报和日志警报 在Azure Monitor我们有几种类型的警报。分别是指标警报、日志警报、活动日志警报和变更跟踪警报。今天我们将主要和大家讨论两个最基础的警报类型,即指标警报和日志警报。部分的指标警报可以不使用日志分析工作区(日志搜索)就可以创建的。也就是说,如果没有日志分析工作区(日志搜索),我们可能就不能创建“某些”指标警报。例如,要对虚拟机的内存发出警报,我们就需要一个日志分析工作区并使用Perf进行相关的查询。 指标警报比日志警报更快 以如下查询为例: Perf | where CounterName == "% Committed Bytes In Use" and CounterValue > 90 上面这条查询语句是用来查询内存使用率超过90%的情况,若我们针对这个查询来设置alert,则他会执行与指标警报完全相同的操作

JSON||获取数据||json数据语法

非 Y 不嫁゛ 提交于 2020-02-25 22:46:03
1. 概念: JavaScript Object Notation JavaScript对象表示法 Person p = new Person(); p.setName("张三"); p.setAge(23); p.setGender("男"); var p = {"name":"张三","age":23,"gender":"男"}; * json现在多用于 存储和交换文本信息 的语法 * 进行数据的传输 * JSON 比 XML 更小、更快,更易解析。 2. 语法: 1. 基本规则 * 数据在名称/值对中:json数据是由键值对构成的 * 键用引号(单双都行)引起来,也可以不使用引号 * 值得取值类型: 1. 数字(整数或浮点数) 2. 字符串(在双引号中) 3. 逻辑值(true 或 false) 4. 数组(在方括号中) {"persons":[{},{}]} 5. 对象(在花括号中) {"address":{"province":"陕西"....}} 6. null * 数据由逗号分隔:多个键值对由逗号分隔 * 花括号保存对象 :使用 {}定义json 格式 * 方括号保存数组:[] 2. 获取数据: 1. json对象.键名 2. json对象["键名"] 3. 数组对象[索引] 4. 遍历 05-json数据语法.html <!DOCTYPE html> <html

XSS攻击payload大全

六眼飞鱼酱① 提交于 2020-02-25 15:50:12
吐血整理转载请说明。 原文收集于OWASP XSS_Filter_Evasion_Cheat_Sheet 正文: XSS JavaScript injection: <SCRIPT SRC=http://xss.rocks/xss.js></SCRIPT> multiple contexts including html, script string, js and url: javascript:/*--></title></style></textarea></script></xmp><svg/οnlοad='+/"/+/οnmοuseοver=1/+/[*/[]/+alert(1)//'> Image XSS using the JavaScript directive,IE7.0 doesn't support: <IMG SRC="javascript:alert('XSS');"> No quotes and no semicolon: <IMG SRC=javascript:alert('XSS')> Case insensitive XSS attack vector: <IMG SRC=JaVaScRiPt:alert('XSS')> HTML entities: <IMG SRC=javascript:alert("XSS")> both double and

Selenium基本操作

不问归期 提交于 2020-02-24 23:41:57
文章目录 源码 了解 switch_to() selenium的基本操作 源码 def current_window_handle ( self ) : """ Returns the handle of the current window. :Usage: driver.current_window_handle """ if self . w3c : return self . execute ( Command . W3C_GET_CURRENT_WINDOW_HANDLE ) [ 'value' ] else : return self . execute ( Command . GET_CURRENT_WINDOW_HANDLE ) [ 'value' ] @ property def window_handles ( self ) : """ Returns the handles of all windows within the current session. :Usage: driver.window_handles """ if self . w3c : return self . execute ( Command . W3C_GET_WINDOW_HANDLES ) [ 'value' ] else : return self . execute (