Compare commits

..
2 Commits
2 changed files with 11 additions and 3 deletions
+10 -2
View File
@@ -3,7 +3,7 @@ import base64
import secrets import secrets
import re import re
import bleach import bleach
from datetime import datetime from datetime import datetime, timedelta
from urllib.parse import quote_plus from urllib.parse import quote_plus
from bleach import Linker from bleach import Linker
from flask import Flask, render_template, request, redirect, url_for, flash, jsonify, abort, session, make_response from flask import Flask, render_template, request, redirect, url_for, flash, jsonify, abort, session, make_response
@@ -782,6 +782,8 @@ def my_requests():
user_id = session.get('user_id') user_id = session.get('user_id')
requests = [] requests = []
MAX_TTL = 24 * 60 * 60 # 24 часа
cursor = 0 cursor = 0
try: try:
while True: while True:
@@ -797,6 +799,11 @@ def my_requests():
token = key.replace("request:", "") token = key.replace("request:", "")
ttl = redis_client.ttl(key) ttl = redis_client.ttl(key)
if ttl > 0:
created_at = datetime.now() - timedelta(seconds=(MAX_TTL - ttl))
else:
created_at = datetime.now() - timedelta(hours=24)
note_key = f"request_note:{token}" note_key = f"request_note:{token}"
note = redis_client.get(note_key) or '' note = redis_client.get(note_key) or ''
@@ -811,7 +818,7 @@ def my_requests():
'note': safe_note, 'note': safe_note,
'ttl_seconds': ttl, 'ttl_seconds': ttl,
'ttl_hours': round(ttl / 3600, 1), 'ttl_hours': round(ttl / 3600, 1),
'created_at': datetime.now() 'created_at': created_at
}) })
if cursor == 0: if cursor == 0:
@@ -824,6 +831,7 @@ def my_requests():
return render_template('my_requests.html', requests=requests) return render_template('my_requests.html', requests=requests)
@app.route('/request/<token>/delete', methods=['POST']) @app.route('/request/<token>/delete', methods=['POST'])
@login_required @login_required
def request_secret_delete(token): def request_secret_delete(token):
+1 -1
View File
@@ -57,7 +57,7 @@
{% block content %}{% endblock %} {% block content %}{% endblock %}
<footer class="pt-3 mt-4 border-top text-center text-secondary"> <footer class="pt-3 mt-4 border-top text-center text-secondary">
<small>Все данные шифруются и автоматически удаляются через 24 часа или после первого просмотра</small> <small><a href="https://git.palchikov.name/PalchikovAleksandr/secrettext" class="link-secondary link-offset-2 link-underline-opacity-25 link-underline-opacity-100-hover">Проект с открытым исходным кодом secrettext</a></small>
</footer> </footer>
</div> </div>