Bir çok büyük sistem logları veritabanında saklamak yerine dosya sisteminde saklamayı tercih ederler çünkü;a) Daha hızlıb) Kontrolü daha kolayb) En önemlisi daha güvenliSaldırgan admin panelini ele geçirdiğini düşünelim burdan istediği şekilde log larda oynama yapabilecektir, ama biz dosya sistemi kullansaydık saldırgan değil admin paneli FTP şifresini bile eline gecirse loglara erişemez.Bir ay once yazdığım sistem olan online kontrol de ben log tutması için dosya sistemini kullandım ilk log sistemim olduğu için biraz amatörce ama memnunum...Sayfa isimleri ve o sayfada Log sistemi ile ilgili kullandığım kodları veriyorum kendinize göre düzenlerek kullanabilirsiniz...Register.asp // Kullanıcı Kayıt Oluyor gerekli klasör ve dosyalar yaratılıyor ve kullanıcnın ilk profili kayıt ediliyor<%randomizesTempWord = 1024*rndSet FSO = CreateObject("Scripting.FileSystemObject") With FSO.CreateFolder Server.MapPath("userFiles")&"\"&Request.Form("formUsername").CreateTextFile Server.MapPath("userFiles")&"\" &Request.Form("formUsername")&"\firstProfile."&sTempWord.CreateTextFile Server.MapPath("userFiles")&"\"&Request.Form("formUsername")&"\passwordChanges.log".CreateTextFile Server.MapPath("userFiles")&"\"&Request.Form("formUsername")&"\failedAttempts.log".CreateTextFile Server.MapPath("userFiles")&"\"&Request.Form("formUsername")&"\successfulLogins.log" End WithSet fileObj = FSO.OpenTextFile(Server.MapPath("userFiles")&"\"&Request.Form("formUsername")&"\passwordChanges.log",8,0)fileObj.WriteLine "First Password '"&Request.Form("formPass1")&"' | Time - IP: "&Now&" - "&Request.ServerVariables("REMOTE_ADDR")Set fileObj = NothingSet fileObj = FSO.OpenTextFile(Server.MapPath("userFiles\")&"\"&Request.Form("formUsername")&"\firstProfile."&sTempWord,2,0)With fileObj.WriteLine "Kullanıcı ID: "&rsUserAdd("id").WriteLine "Ad: "&rsUserAdd("fname").WriteLine "Soyad: "&rsUserAdd("lname").WriteLine "Kullanıcı Adı: "&Request.Form("formUsername").WriteLine "Kullanıcı Şifresi: "&Request.Form("formPass1").WriteLine "Doğum Tarihi: "& Request.Form("formDobDay")&"."&Request.Form("formDobMonth")&"."&Request.Form("formDobYear").WriteLine "Gizli Soru: "&rsUserAdd("squestion").WriteLine "Cevap: "&rsUserAdd("sanswer").WriteLine "Cinsiyet: "&rsUserAdd("gender").WriteLine "Aktivasyon Kodu: "&rsUserAdd("regcode").WriteLine "Kayıt Zamanı - IP: "&rsUserAdd("regdt")&"-"&Request.ServerVariables("REMOTE_ADDR").CloseEnd WithSet FSO = NothingSet fileObj = NothingrsFSO.close : Set rsFSO = Nothing %>Login.asp // Kullanıcı giriş yapıyor ve log tutuluyorKod:Set FSO = CreateObject("Scripting.FileSystemObject")Set fileObj = FSO.OpenTextFile(Server.MapPath("userFiles")&"\"&Session("username")&"\successfulLogins.log",8,0)fileObj.WriteLine "Successful Login | Time - IP: "&Now&" - "&Request.ServerVariables("REMOTE_ADDR")fileObj.CloseSet FSO = NothingrsFSO.close : Set rsFSO = NothingforgotPassword.asp // Kullanıcı şifremi unuttum bölümünde yanlış denemeler için logKod:Set FSO = CreateObject("Scripting.FileSystemObject")Set fileObj = FSO.OpenTextFile(Server.MapPath("userFiles")&"\"&Request.Form("formUsername")&"\failedAttempts.log",8,0)fileObj.WriteLine "Failed Forgot Password Attempt | Time - IP: "&Now&" - "&Request.ServerVariables("REMOTE_ADDR")fileObj.CloseSet FSO = NothingrsFSO.close : Set rsFSO = NothingBu örnekler genişletilebilir özellikle mesela klasörlerme sistemi geliştirebilir A-C | C-E gibi klasörlereme sistemi yapılabilir...Önemli Not: log klasörününe mutlaka 80. porttan erişim olmasın siteniz d:\siteler\x.com\httpdocs\default.asp ise log dosyaları d:\siteler\x.com\logfiles yolunda olsun.Döküman : Ceviz.net
Asp KodBank