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

---------

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

From: cumcum 82 <cumcum82_at_gmail.com>
Date: Wed, 9 Jan 2008 18:50:49 +0200
Message-ID: <f1e7268b0801090850n79c735dfpd1acec5f9a33f90@mail.gmail.com>

  - 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
Received on Wed 09 Jan 2008 - 18:18:38 EET

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.