我想加扰或屏蔽我的可变网址,以便人们无法查看/了解隐私信息。
例如,如果我有路线,
@app.route('/customer/<custid>')
def display(custid):
# do stuff
return render_template('custpage.html' foo=foo)
custid=1
将为~/customer/1/
现在有一种方法可以在网址中对客户ID进行哈希处理
custid=1
将是~/customer/somehash/
?
答案 0 :(得分:0)
我会使用类似的方法,就好像你要创建推荐网址一样。
创建一个新列,您将在其中保存唯一的字符串,该字符串可以标识此用户。您将使用唯一的字符串,而不是在所有URL中使用ID。
你可以在id中创建一个哈希并将其保存在那里,或者只是使用随机函数来创建一个长字符串。
如果你想使用哈希(但这不是必需的):
import hashlib
hash_object = hashlib.sha256(b"user-id-" + str.encode(str(current_user.id)))
您当然可以生成一个具有一定长度的随机代码。长度为15+时,生成相同代码的几率几乎为0.并且该列的唯一属性将阻止生成相同代码的超级罕见情况。
def get_promo_code(num_chars):
code_chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
code = ''
for i in range(0, num_chars):
slice_start = random.randint(0, len(code_chars) - 1)
code += code_chars[slice_start: slice_start + 1]
return code
称之为:
get_promo_code(15)