\x89PNG\r\n\x1a\n\x00\x00\x00\x0DIHDR\x00\x00\x00\x01\x00 \x00\x00\x01\x08\x06\x00\x00\x00\x1F\x15\xC4\x89\x00\x00\x00 \x0AIDATx\x9Ccb\x00\x00\x00\x06\x00\x03\x1A\x05\x9D\x00\x00 \x00\x00IEND\xAE\x42\x60\x82
| Path : /var/www/html/yedekledb24/DatabaseBackupMasterv6/ |
|
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
| Current File : /var/www/html/yedekledb24/DatabaseBackupMasterv6/login_fix.py |
#!/usr/bin/env python3
"""
Oturum kontrolünü düzeltmek için routes.py dosyasını otomatik olarak güncelleyen betik.
Bu betik, tüm rotalara @login_required dekoratörünü ekler.
"""
import re
# Sabit tanımlamalar
LOGIN_REQUIRED_DECORATOR = "@login_required"
EXCLUDED_ROUTES = ["login", "logout", "set_language", "set_theme", "dashboard_stats"]
def fix_routes():
"""routes.py dosyasındaki tüm rotalara @login_required ekle"""
print("Oturum kontrolü düzeltmesi başlatılıyor...")
# Dosyayı oku
with open('routes.py', 'r', encoding='utf-8') as f:
content = f.read()
# Satır satır işle
lines = content.splitlines()
# Değişiklik yapılacak satırların indislerini ve yeni hallerini tut
changes = []
# Her bir "@app.route" satırını bul
for i, line in enumerate(lines):
if "@app.route" in line:
# Sonraki satır (fonksiyon tanımlama satırı)
if i + 1 < len(lines) and lines[i + 1].strip().startswith("def "):
func_line = lines[i + 1]
# Fonksiyon adını çıkar
match = re.search(r'def\s+(\w+)\(', func_line)
if match:
func_name = match.group(1)
# Hariç tutulan rotaları atla
if any(excluded in func_name for excluded in EXCLUDED_ROUTES):
print(f"Atlanan rota: {func_name}")
continue
# Zaten @login_required eklenmiş mi kontrol et
if i > 0 and LOGIN_REQUIRED_DECORATOR in lines[i-1]:
print(f"Zaten eklenmiş: {func_name}")
continue
# Değişikliği kaydet
changes.append((i, f"{line}\n{LOGIN_REQUIRED_DECORATOR}"))
print(f"Düzeltilecek: {func_name}")
# Değişiklikleri uygula (sondan başa doğru)
# (Önceki satırların indeksi değişmesin diye)
for line_index, new_line in sorted(changes, reverse=True):
lines[line_index] = new_line
# Dosyayı güncelle
updated_content = '\n'.join(lines)
with open('routes.py', 'w', encoding='utf-8') as f:
f.write(updated_content)
print(f"Tamamlandı! {len(changes)} rota güncellendi.")
if __name__ == "__main__":
fix_routes()