[Linux-programlama] Re: PHP de Oturum Geri Geliyor

---------

[Linux-programlama] Re: PHP de Oturum Geri Geliyor

From: Aykut SunguroÄŸlu <sungurogluaykut_at_gmail.com>
Date: Thu, 10 Jan 2008 14:00:01 +0200
Message-ID: <e2a728a0801100400i65272c61n2f9fe72e65174863@mail.gmail.com>

Aslında logout ile değişken boşalıyor. Hatta siliniyor. Session'a attığım
değer login olan kişinin username ve password'ü. Tabi sha1 ile şifrelenmiş
olarak.
Logout kodu ÅŸu:

$_SESSION["U"]=NULL;
$_SESSION["P"]=NULL;
unset($_SESSION["U"]);
unset($_SESSION["P"]);
session_unregister("U");
session_unregister("P");
session_destroy();
header("Location:../");

temp dizininden bakıyorum. Logout olunca session dosyası siliniyor. Ama geri
tuşuna basınca dosya geri geliyor. Anlamadım.

09.01.2008 tarihinde cumcum 82 <cumcum82_at_gmail.com> yazmış:
>
> - Sorunum şu: IE7'de geri tuşuna basınca sayfanın süresi doldu hatası
> veriyor. F5'e basınca da şifreli olması gereken sayfalar geri geliyor.
> - Firefox'ta da "Görmek istediğiniz sayfa önbellekten silinen..." diye bir
> uyarı veriyor. Tamam deyince, hoop, şifreyle girilmesi gereken sayfalar
> geliyor. Sanırım session önbellekten geri yükleniyor
>
> Merhaba;
> Sanırım oturum değişkenini boşaltamıyorsunuz aksi taktirde sunucu
> tarafında rastgele bir ad ile oluşan bir dosyayı istemci tarafından gelen
> bir yenileme isteği ile aynı ad ve içerik ile oluşturamazsınız. Logout
> sayfanızda kullanıcı adı yada hangi oturum değişkenlerini taşıyorsanız
> ekrana bastırıp kontrol eder
> misiniz? Bu denemeyi siz yaptıktan sonra kendimin de aynı hesaptan çoklu
> loginleri önlemek üzere kullandığı ama performansından tam
> emin olmadığım bir yöntem önerim var. Şöleki;
> her loginde veri tabanındaki kulanıcı tablosunda oluşturduğunuz bir
> alana rasgele ve browser-ip-zaman
> karışımı bilgilerden derleyerek oluşturduğunuz bir rasgele
> deÄŸer giriÅŸini yaparak ve bu deÄŸeri session ile her ÅŸifreli sayfada
> varlığını ve de doğruluğunu veritabanından sorgulayarak kontrol
> ettirerek login in olup olmadığını ve var ise aynı istemciden mi olduğunu anladığımız ve son olarak da logout ile değeri sıfırladığımız bir yöntem.
>
> Logout olduğu zaman hem session dosyalarını unset(oturum_adi); komutu ile sonlandırarak hem de bu değeri boşaltarak şifreli sayfalara geri dönülmek istendiğinde header() ile ana sayfaya ya
> da dilediğin bir sayfaya yönlendirme yapabilirsin.
> Kolay gelsin.
>
>
> On 09/01/2008, What you get is Not what you see < wyginwys_at_gmail.com>
> wrote:
> >
> > If(empty($HTTP_SESSION_VARS) || empty($_SESSION['userid']))
> > {
> > header("Location: giris.php");
> > die();
> > }
> > header("Cache-control: private");
> >
> >
> > On Jan 9, 2008 11:10 AM, Aykut SunguroÄŸlu < sungurogluaykut_at_gmail.com >
> > wrote:
> >
> > > Bu dediğiniz de olmadı. Bir de bu kodları tam olarak nereye
> > > yerleÅŸtirmem gerekiyor? Ben normalde session ile korunan sayfada ÅŸu ÅŸekilde
> > > yerleÅŸtiriyorum.
> > > - ob_start();
> > > - header("Cache-control: private");
> > > - session kontrolü yapan kodlar (Eğer login olmamışsa login sayfasına
> > > yönlendiriliyor)
> > > - Oturumla korunan sayfanın içeriği, kodları
> > > - ob_end_flush();
> > >
> > > 09.01.2008 tarihinde What you get is Not what you see <
> > > wyginwys_at_gmail.com> yazmış:
> > > >
> > > >
> > > > header("Cache-control: private");
> > > > olmali sanirim.
> > > > On Jan 9, 2008 10:24 AM, Aykut SunguroÄŸlu <sungurogluaykut_at_gmail.com>
> > > > wrote:
> > > >
> > > > > Firefox'un uyarısı şu:
> > > > > "Görmek istediğiniz sayfa önbellekten silinen POSTDATA girdilerini
> > > > > içeriyor. Bu verileri yeniden gönderirseniz, doldurulan formla bağlantılı
> > > > > işlem (ör. arama, satın alma) tekrarlanacak. Veriyi bir daha göndermek için
> > > > > Tamam'a basın. Ama istemiyorsanız İptal'e basın."
> > > > > Anladığım kadarıyla sorduğunuz gerçekleşiyor. Aslında http://forum.zoque.net/asp-net/24877-asp-net-vb-session-sonlandirma/
> > > > > burada benzer sorunun asp.net vb'de olanı sorulmuş. Sayfanın
> > > > > aşağısında
> > > > > Response.Expires = 0
> > > > > Response.Cache.SetNoStore()
> > > > > Response.AppendHeader("Pragma", "no-cache")
> > > > > şeklinde bir çözüm önerisi sunulmuş. Ben bunu
> > > > > header("Cache-Control: no-store, no-cache, must-revalidate");
> > > > > header("Cache-Control: post-check=0, pre-check=0", false);
> > > > > header("Pragma: no-cache");
> > > > > şeklinde kendi sayfama uyarladım. Ama sorun çözülmedi. Hata
> > > > > yaptığım yer neresi?
> > > > >
> > > > > 09.01.2008 tarihinde Mert Pamukcu < mpamukcu@
> > > > > <mpamukcu_at_bnt.com.tr>bnt.com.tr <mpamukcu_at_bnt.com.tr>> yazmış:
> > > > > >
> > > > > > Siz F5 tuÅŸuna bastiginizda POST yada GET metoduyla yollamis
> > > > > > oldugunuz veriler tekrar yollaniyor olabilir mi?
> > > > > >
> > > > > >
> > > > > >
> > > > > > * Mert PAMUKCU*
> > > > > > Bnt Bilgisayar Dan. ve Bilgi
> > > > > > Ä°ÅŸlem Hiz. San. ve Tic. Ltd. Åžti.
> > > > > > Emniyet Evleri Mah.
> > > > > > Özcan Sok. No:8/4
> > > > > > 4.Levent Istanbul
> > > > > > Tel : +90 212 280 02 68
> > > > > > Fax : +90 212 280 02 79
> > > > > > ------------------------------
> > > > > >
> > > > > > * From:* linux-programlama-bounces_at_liste.linux.org.tr [mailto:linux-programlama-bounces_at_liste.linux.org.tr
> > > > > > ] * On Behalf Of *Aykut SunguroÄŸlu
> > > > > > *Sent:* Wednesday, January 09, 2008 1:16 AM
> > > > > > *To: *linux-programlama_at_liste.linux.org.tr
> > > > > > *Subject: * [Linux-programlama] PHP de Oturum Geri Geliyor
> > > > > >
> > > > > >
> > > > > >
> > > > > > Merhaba,
> > > > > > PHP ile oturum kontrollü bir uygulama yapıyorum. Uygulamada
> > > > > > veritabanına kayıtlı üyeler şifrelerini girince session başlatıyorum.
> > > > > > İşlerini bitirip çıkış butonuna basınca da oturum değişkenleri boşaltıyorum.
> > > > > > Hatta session_destroy ile siliyorum. Sorunum şu: IE7'de geri tuşuna basınca
> > > > > > sayfanın süresi doldu hatası veriyor. F5'e basınca da şifreli olması gereken
> > > > > > sayfalar geri geliyor. Firefox'ta da "Görmek istediğiniz sayfa önbellekten
> > > > > > silinen..." diye bir uyarı veriyor. Tamam deyince, hoop, şifreyle girilmesi
> > > > > > gereken sayfalar geliyor. Sanırım session önbellekten geri yükleniyor. Bu
> > > > > > sorunu araştırdım. Ama sorunumu çözecek bir cevap bulamadım. Sayfaların
> > > > > > üstünde header("pragma: no-chache"); gibi şeyler de kullandım. Ama
> > > > > > çözülmedi. Bu sorunun çözümü nedir?
> > > > > >
> > > > > > _______________________________________________
> > > > > > Linux-programlama mailing list
> > > > > > Linux-programlama_at_liste.linux.org.tr
> > > > > > http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> > > > > >
> > > > > >
> > > > >
> > > > > _______________________________________________
> > > > > Linux-programlama mailing list
> > > > > Linux-programlama_at_liste.linux.org.tr
> > > > > http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> > > > >
> > > > >
> > > >
> > > > _______________________________________________
> > > > Linux-programlama mailing list
> > > > Linux-programlama_at_liste.linux.org.tr
> > > > http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> > > >
> > > >
> > >
> > > _______________________________________________
> > > Linux-programlama mailing list
> > > Linux-programlama_at_liste.linux.org.tr
> > > http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> > >
> > >
> >
> > _______________________________________________
> > Linux-programlama mailing list
> > Linux-programlama_at_liste.linux.org.tr
> > http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> >
> >
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama_at_liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>

_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Thu 10 Jan 2008 - 13:27:48 EET

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.