我正在编写一个基于Python的IRC bot插件,它接受GitHub所有者和存储库名称,然后基于这些进行一些GitHub API调用。我需要确保这两个输入都不是恶意的。据推测,正则表达式可以工作,但我找不到哪些字符可以接受的文档。我将处理已经解码为utf8的字符串。
答案 0 :(得分:3)
我找不到任何明确说明存储库和用户名允许的字符的内容。但我认为最好的答案可能就是不要过多地冒汗。不要担心它是否是“恶意的” - 如果GitHub没有处理它们的问题那就是他们的问题。
您可以做的是:根据the API docs,发布到API的无效字段会导致HTTP 422错误(我自己在使用API时出现代码中的错误时自行获取这些错误) 。响应的主体包含一个JSON对象,用于解释验证错误的性质。
所以你可以让API为你处理验证,如果你得到其中一个回复告诉用户他们的名字是无效的。