Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Exceptions - sigurnost u Python CGI skriptama

[es] :: Python :: Exceptions - sigurnost u Python CGI skriptama

[ Pregleda: 1768 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mr.marvin

Član broj: 137276
Poruke: 111
77.222.11.*



Profil

icon Exceptions - sigurnost u Python CGI skriptama27.06.2008. u 14:38 - pre 192 meseci
Code:
# Check if "?content=" is OK

try:
    pos = fldMenu["pos"].value
    word = fldMenu["item"].value
    word = word.replace("%2C", ',')
    # log
    dt = strftime("%Y-%m-%d %H:%M:%S")
    if not is_safe(word, pos):
        log_content((dt, os.environ["REMOTE_ADDR"], "not safe", pos, ",", word))
        sys.exit()
    log_content((dt, os.environ["REMOTE_ADDR"], pos, ",", word))
except:
    log_content((dt, os.environ["REMOTE_ADDR"], " invalid fields"))
    print get_textfile("head") % "Error"
    print get_textfile("please_tryagain")
    sys.exit()


Dao sam ovaj kod na brzi uvid u namjeri da saznam jesam li šta ozbiljno zabrljao, i dobio sam odgovor da "bare exceptions" nije dovoljno siguran način za hvatanje grešaka. Da li je to uvijek tako (u CGI) ili je ipak sigurno, pod uslovom da je cgitb isključen? Jer, ako server ne vraća nikakvu poruku o greškama, ne vidim načina da iko sazna išta o skripti ili parametrima naloga na serveru.

Kako da poboljšam kod? Mogu da navdem sve moguće greške, ali opet se teoretski može desiti neka nova.

edit:
Funkcija is_safe() provjerava da li se zahtjev sastoji isključivo od slova, odnosno brojeva (šta već treba za određenu vrijednost).
 
Odgovor na temu

[es] :: Python :: Exceptions - sigurnost u Python CGI skriptama

[ Pregleda: 1768 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.