'Muddled' Başlarken PHP Kullanıcı Oturumları

4 Cevap php

Ben ile sorun yaşıyorum uygulaması genel bir web uygulaması ... Kullanıcıları kolları yol hakkında özel bir şey. Bu oturumda bir çerez aracılığıyla yönetilen I, oturum değişkeni kullanıcı bilgilerini ele, söylemektir.

Kullanıcıların oturum ve her şimdi ve yine onlar (kullanıcı adı, her sayfanın üst kısmında, çünkü bu belirlemek kolaydır) farklı bir kullanıcı için bir sayfa ile sunulmaktadır sayede Benim Bir müşteri bir sorun yaşıyor. Onlar 'Ev' bağlantısını tıklarsanız, görünüşte herşeyi, yine gayet iyi.

Şimdi kadarıyla benim PHP bilgisi ile ilgili olarak, o kadar bu tür şeyleri karıştırmak için biraz çaba, doğru olur? Ben bizim geliştirme ortamlarında herhangi sorunu çoğaltmak değil ve ben demek gibi kadarıyla ilgili olduğum gibi, bu oturum bilgi bu tür 'pay' aslında biraz çaba alacaktı ...

Benim soru şudur: ne mümkün sorunları olabilir? Onlar isteklerini vekalet olmadığını söylüyorsun olsa, bir 'yanlış davranış sergileyen' proxy sunucusu nedeniyle önce ben bu yaşanan her zaman.

Ben eksik olabilir başka bir şey var mı? Herhangi bir diğer olası bu nedenleri (doğal olarak bu benim kod bir sorun içerebilir)?

Teşekkürler ...

4 Cevap

Yani this durumun nihai sonucu, en azından, oldukça tuhaf olduğunu çıkıyor.

Bu istemci uygulamaya erişmek için el bilgisayarları kullanarak ve piller düz gitmek icar olduğunu çıkıyor. Pil sonunda şarj edildiğinde bu özel cihaz, daha sonra 2005 kendi saatini sıfırlamak ve bu onun önbellekten belirli sayfaları okumak için tarayıcı açtı sanki görünüyor.

En kısa sürede cihaz / s saatinin doğru ayarlanmış gibi, mesele gitti.

Önerileri için herkese teşekkürler: Ben bu önbelleğe tip sorunları ayıklamak için çalışıyor nefret ediyorum. Ben gerçekten verileri önbelleğe bu el bilgisayarları denemek ve durdurmak için bazı başlıkları eklemek gerekir ki, olsa da, sanırım.

Müşteriniz bu olmadığını size garanti olsa bile bunun sesler, o hala bana bir vekil veya önbelleğe sorun gibi görünüyor. Eğer mümkünse bir sayfa sadece emin isteği güncel olduğundan emin olmak için bir yere kullanıcı alanına yakın oluşturulduğunda, bir zaman damgası gibi bir şey ekleyebilirsiniz.

Sayfa dağıtırsa sayfa daha önce oluşturulan ve yolda bir şey tarafından depolanan Bu şekilde, bazı göstergesi var. Ajax sonuçları tarayıcı tarafından önbelleğe ve müşteri aynı gezgini üzerinde birden fazla kişi var ise, bu tuhaf sonuçlar elde etmek için bir proxy gerek olmazdı.

Eğer bu sorunu saldırmak olabilir başka yolu istemci istekleri, oturum ve bir şey kaçırdığınızı olmadığını kontrol gereğidir. Eğer istekleri oynatmak ise, aynı sonucu elde edersiniz?

Eğer kullanıcı A olarak kaydedilir ve (silmek), oturum çerezi 'şaşırmaz' zaman, sen hala istediği bilgileri alabilirsiniz doğrulayın miyim? Eğer öyleyse, kimlik ele yolu ile yanlış bir şey olabilir.

Bu yardımcı olur umarım!

Bu tür oturumda IP adresini saklamak ve oturumda adres ve geçerli kullanıcının IP eşleşmiyor eğer yok gibi, oturum doğrulama çeşit yapıyor düşünebilirsiniz.

IP eşleşmiyor Tabii ki, yerine onu yok daha, sadece kullanıcı için yeni bir oturum zorlayabilir. I think böyle bir şey çalışır:

session_start();

if (isset($_SESSION['ip'])) {
    if ($_SESSION['ip'] != $_SERVER['REMOTE_ADDR']) {
        session_regenerate_id();
        session_destroy();
        session_start();
        $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
    }
} else {
    $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}

Eğer onlara (ya da bir parametre olarak session id almak diğer istekleri) olarak oturum kimliği var bağlantıları ile kullanıcılara sunulmakta?