Есть ли в python пакет, связанный с flask, который бы автоматически генерировал sri-токен и обрабатывал их?
Я попытался найти документацию по Flask и не смог ее найти.
Пожалуйстадайте мне знать, как это сделать, если есть способ или я должен сделать это вручную.
Решение:
Функция для генерации хеш-значения
def generate_sri (inp_file): BUF_SIZE = 65536 hashed = hashlib.sha256 ()
with open(inp_file, 'rb') as f:
while True:
data = f.read(BUF_SIZE)
if not data:
break
hashed.update(data)
hashed = hashed.digest()
hash_base64 = base64.b64encode(hashed).decode('utf-8')
return 'sha256-{}'.format(hash_base64)
- Добавить функцию в глобальные объекты jinja env
app.jinja_env.globals['sri'] = generate_sri
Вызов функции внутри шаблона
<script src="{{ url_for('static', filename='file.js') }}" integrity="{{ sri(url_for('static', filename='file.js')) }}" crossorigin="anonymous"></script>