2016-11-08 34 views
2

应该将来自用户的数据(如Cookie值,路径中的可变部分,查询参数)视为不安全并以特定方式处理? Flask是否已经对转义输入数据进行了清理,以便将它传递给函数test(input_data)是安全的?请求数据已经被Flask消毒了吗?

+0

这就是为什么我问 - 我不知道是否存在可能导致代码执行的代码(通过字节码或者某些方式),因此如果在unicode/unicode代码中使用unicode或int, int是预期的(规则“不信任用户输入”)。 “安全”我的意思是 - 妥善逃脱/消毒,因此在进一步加工中安全 – LAdas

+0

它没有消毒,但通常不是问题。不要在传入的任何东西中使用'exec',或者在原始sql语句中使用它,就像任何类型的输入一样。 –

+0

没有办法更具体地回答这个问题,它是无限的。 – davidism

回答

3

除了从原始HTTP请求中解析数据之外,Flask没有要求数据请求。它无法知道任意函数有什么限制。这是由你来检查任何约束。所有数据默认都是字符串。请勿使用evalexec。使用数据库驱动程序的参数化查询来避免SQL注入。如果您使用Jinja呈现模板,默认情况下它将转义数据以用于HTML。