1. 程式人生 > >python tornado 轉義

python tornado 轉義

  • tornado中預設開啟了模板自動轉義功能,防止網站受到惡意攻擊。
  • 當我們在表單中填入如下內容時:<、>、"等被轉換為對應的html字元
    <script>alert("hello!");</script>

注意:在Firefox瀏覽器中會直接彈出alert視窗,而在Chrome瀏覽器中,需要set_header(“X-XSS-Protection”, 0)

  • 以通過raw語句來輸出不被轉義的原始格式,如:
{% raw text %}
  • 若要關閉自動轉義,一種方法是在Application建構函式中傳遞autoescape=None,
  • 另一種方法是在每頁模板中修改自動轉義行為,新增如下語句:
{% autoescape None %}
  • escape()

關閉自動轉義後,可以使用escape()函式來對特定變數進行轉義,如:

{{ escape(text) }}