flask(16):safe禁用转义
需求场景
如果前端传过来的值是想要执行的js代码那么我们的模板会把它转义,怎样才能不转移,并且前端执行js代码呢
代码
test_flask1009_xss.py
from flask import Flask,render_template,request
app=Flask(__name__)
@app.route('/xss',methods=['GET',"POST"])
def test_xss():
text=''
if request.method=='POST':
text=request.form.get('text')
return render_template('xss.html',text=text)
if __name__ == '__main__':
app.run(debug=True)
xss.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="post">
<textarea name="text"></textarea>
<input type="submit" value="提交">
</form>
{{text}}
</body>
</html>
代码截图
浏览器截图
发现没已经被转义了
代码修改
浏览器截图