我正在服务器端使用Python / Flask / SQLAlchemy开发一个Web应用程序。
我正在使用wysihtml富文本编辑器,允许用户输入包含非常有限的HTML子集的文本。虽然wysihtml在客户端清理生成的HTML,但需要进行某种服务器端检查以确保只接受该HTML子集。重复一遍,它不仅应该是有效的HTML,我希望它只包含一组非常有限的标签。此外,它不一定是一个完整的HTML文档。
此外,我想知道何时提交不合规的HTML,因为它是客户端验证中的错误,或者是(可能是恶意的)企图绕过它来指示攻击。
我可以使用Bleach来清理用户提供的HTML,但这不能作为验证器(没有简单的方法来判断已清理的HTML是否已经实质性地更改),并且开发人员已经明确了他认为验证超出了他的工具范围。
我看过,但在这些情况下,似乎没有一个标准工具可以进行验证。
如果我不是因为两个原因,我宁愿不自己动手:第一,需要额外的时间,第二,我不想冒新手犯错的风险
那么有人能指出我在Python中使用这个服务器端的标准方法吗?而且,如果没有,为什么不存在?是否需要一个被误导的思考,如果是这样的原因?