機能を実現するための時間は、テストページにアクセスし、登録ページへのジャンプは、登録は、テストページに成功したジャンプで
使用パラメータは:別のアドレスからのジャンプは、ヘッダ情報は、パラメータがリファラー運ぶ場合は、このパラメータはアドレスをブラウザから直接入力された場合、現在のアドレスにジャンプするためのアドレスがあり、それはこの引数を運ぶことはありません
テストページとインターフェースを準備
<!DOCTYPE HTML>
<HTML LANG = "EN">
<HEAD>
<メタ文字コード= "UTF-8">
<タイトル>タイトル</ TITLE>
</ HEAD>
<BODY>
<A HREF = "{{(なurl_for 'front.signup')}} ">点击注册</a>の
</ BODY>
</ HTML>
URL法的ロジックかどうかをチェックします
from urllib.parse import urlparse, urljoin
from flask import request
def is_safe_url(target):
""" 判断url是否合法,是否在同一域名 """
ref_url = urlparse(request.host_url)
test_url = urlparse(urljoin(request.host_url, target))
return test_url.scheme in ('http', 'https') and ref_url.netloc == test_url.netloc
get请求里面判断,和是否加入referrer参数
def get(self):
referrer = request.referrer # 来到此接口的上一个接口
if referrer and referrer != request.url and safeutils.is_safe_url(referrer):
return render_template('front/front_signup.html', referrer=referrer)
else:
return render_template('front/front_signup.html')
模板中加入此参数,并隐藏
js在成功的回调函数中判断
跳转注册: