黑客走开系列1:Python使用元组做函数实参让代码更安全!

在Python内置对象中,列表、字典、集合属于可变序列,作为函数实参是不安全的,尤其是调用别人写好的恶意函数或者调用被人恶意修改过的函数时,很容易被修改实参。而元组、字符串在Python中属于不可变类型,使用元组或字符串作为函数实参可以在一定程度上规避这样的风险。

当然,从另一方面讲,在编写常规功能函数时,尽量不要做多余的事情,这也是程序员的一种职业操守。

原文发布于微信公众号 - Python小屋(Python_xiaowu)

原文发表时间:2017-12-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏架构之路

Spring AOP中 args和arg-names的区别

这两天在看aop aspectj的各种语法,发现里面有两个概念 args和arg-names很容易混淆,网上也基本没说清楚,所以就动手试了一下,发现还是自己试试...

39360
来自专栏Python爬虫与数据挖掘

Python正则表达式初识(七)

继续分享Python正则表达式的基础知识,今天给大家分享的特殊字符是“\s”、“\S”,具体的教程如下。

9140
来自专栏老司机的技术博客

golang学习笔记2:基本结构与数据类型

除了以上介绍的这些关键字,Go 语言还有 36 个预定义标识符,其中包含了基本类型的名称和一些基本的内置函数。

10840
来自专栏

特色

摘要: 程序中常常需要复制一个对象, 按思路应该是这样的a = [1, 2, 3]b = a# [1, 2, 3]print b 已经复制好了,但是现在得改变一...

9240
来自专栏我的博客

echo、print、print_r、var_dump使用和区别

1、echo — Output one or more strings(输出一个或者多个字符串) 2、print — Output a string(输出一个字...

31370
来自专栏WD学习记录

html5学习笔记(二)

1. min、max、step属性用于包含数字或日期的input类型规定限定(约束)。

8310
来自专栏决胜机器学习

《Redis设计与实现》读书笔记(八) ——Redis列表对象和哈希对象实现原理

《Redis设计与实现》读书笔记(八) ——Redis列表对象和哈希对象实现原理 (原创内容,转载请注明来源,谢谢) 一、列表对象 列表对象的编码可以是zipl...

41570
来自专栏java思维导图

【一分钟知识】异常处理,值传递和引用传递

异常处理 关键字:throws、throw、try、catch、finally try用来指定一块预防所有异常的程序; catch子句紧跟在try块后面,用来指...

34480
来自专栏不想当开发的产品不是好测试

java匿名内部类

show the code : package com.test.jwen.httpApiAuto; public class AInter { publ...

23370
来自专栏ml

hdu 3518 (后缀数组)

  题目描述:   找出一个字符串中至少重复出现两次的字串的个数(重复出现时不能重叠)。   code:      后缀数组处理,对于得到height 进行查找...

35240

扫码关注云+社区

领取腾讯云代金券