如何有选择地屏蔽通过不安全链接发送的任意数据?

2024-03-29 01:41:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为我的pythonweb应用程序使用一个异地错误日志记录包。当我发送一个错误时,我包括POST变量的内容和一些模板数据。其中一些数据不能发送到错误日志记录服务(密码、其他一些模板数据)。你知道吗

我如何获取一个由数据(对象、dict等)混合而成的有效负载,并屏蔽(比如)每个名为my_private_data的字段或条目?你知道吗

我所期望的是,如果一个对象有一个字符串或整数属性(私有数据总是一个数字或字符串)my_private_data=SOME SECRET,它将作为my_private_data=**********传输

我如何做到这一点?你知道吗


Tags: 数据对象字符串模板应用程序密码内容data
1条回答
网友
1楼 · 发布于 2024-03-29 01:41:10

如果将POST数据作为字符串,则可以使用标准模块“urlparse”和“urllib”删除某些参数:

import urlparse
import urllib

postDataAsDict = urlparse.parse_qs("a=5&b=3&c=%26escaped", strict_parsing = True)
print postDataAsDict # prints {'a': ['5'], 'b': ['3'], 'c': ['&escaped']}

del postDataAsDict["a"] # in your case "my_private_data"
print urllib.urlencode(postDataAsDict, True) # prints c=%26escaped&b=3

注意,parse_qs正确地支持多个同名参数,所以不用担心。你知道吗

相关问题 更多 >