对用户输入进行编码和过滤是防止 XSS 攻击的关键。以下是改进后的代码示例:
from flask import Flask, request, escape
from markupsafe import Markup app = Flask(__name__) @app.route('/comment', methods=['POST'])
def comment(): user_comment = escape(request.form['comment']) return Markup(f'<h1>User Comment:</h1><p>{user_comment}</p>') if __name__ == '__main__': app.run(debug=True)
在这段代码中,escape 函数用于对用户输入的评论内容进行转义,将特殊字符转换为 HTML 实体。这样可以防止用户输入的恶意 HTML 或 JavaScript 代码被浏览器执行。Markup 类用于标记字符串为安全的 HTML 内容,告诉模板引擎可以安全地渲染这段内容。
好了,今天的文章分享就到这里了,希望对大家的学习和工作有所帮助~