【发布时间】:2012-09-10 04:42:01
【问题描述】:
我有一个套接字服务器,它应该从客户端接收 UTF-8 有效字符。
问题是一些客户端(主要是黑客)正在通过它发送所有错误类型的数据。
我可以轻松区分真正的客户,但我会将发送的所有数据记录到文件中,以便稍后进行分析。
有时我会得到像 œ 这样会导致 UnicodeDecodeError 错误的字符。
我需要能够使字符串带有或不带有这些字符的 UTF-8。
更新:
对于我的特殊情况,套接字服务是 MTA,因此我只希望接收 ASCII 命令,例如:
EHLO example.com
MAIL FROM: <john.doe@example.com>
...
我在 JSON 中记录了所有这些。
然后一些没有好心的人决定发送各种垃圾。
这就是为什么对于我的具体情况,去掉非 ASCII 字符是完全可以的。
【问题讨论】:
-
字符串是来自文件还是套接字?您能否发布代码示例,说明在通过套接字/文件处理程序发送字符串之前如何对字符串进行编码和解码?
-
我写了还是没有写到字符串通过套接字?我只是从套接字中读取字符串并将其放入字典中,然后将其发送到 JSON 中。由于这些字符,JSON 函数失败。
-
你能把你的问题样本数据放上来吗
标签: python linux python-unicode