Forum

PHP Kullanıcı Değiş...
 
Bildirimler
Hepsini Temizle

PHP Kullanıcı Değiştirme Problemi (SESSION)

3 Yazılar
3 Üyeler
0 Reactions
736 Görüntüleme
(@MeteYilmaz)
Gönderiler: 1
New Member
Konu başlatıcı
 

Merhabalar,
Elimde bir sistem var ve üyelik sisteminde kullanıcı değiştirme problemi var. Yani kullanıcılar kendi panelindeyken başka birşeye tıkladığında başka birinin hesabındaymış gibi onun tüm bilgilerini görüp onun adına işlem yapabiliyor. Sürekli olan birşey değil, tamamen rastlantısal oluyor bu olay. Sunucu nignx kullanıyor ve PHP 7 versiyon

Login Sayfası

if( isset($_POST["giris_onay"]) && $_POST["giris_onay"] == "2" ) {
// strip_tags(html kaldır), trim(boşluk kaldır), dbtrim(tırnak sorunu)
$username = strip_tags(trim(dbtrim($_POST["username"])));
$password = strip_tags(trim(dbtrim($_POST["password"])));
// şifrelenmiş parola
$hash = create_password($password);
if( dbcount("id", "uyeler", "username='".($username)."' AND password='".($hash)."'") <= 0 ) {
$mesaj = "<div id=\"blok\"><p><font style=\"color:red;\">Böyle bir kullanıcı bulunmuyor!</font></p></div>";
} else if( dbresult("SELECT onaylimi FROM uyeler WHERE username='".($username)."' AND password='".($hash)."'") != '1' ) {
$mesaj = "Hesabınızı aktif etmelisiniz! E-Posta adresinizi kontrol edin.";
} else if (dbresult("SELECT ban FROM uyeler WHERE username='".($username)."' AND password='".($hash)."'") == '1') {
$mesaj = "<div id=\"blok\"><p><font style=\"color:orange;\">Hesabınız engellenmiştir.</font></p></div>";
} else {
// giriş yap
$result = dbquery("SELECT * FROM uyeler WHERE username='".($username)."' AND password='".($hash)."'");
$uyebilgi = $result->fetch_assoc();

// cookie set - 7 günlük
$_SESSION['login'] = $_POST["username"];
$_SESSION['password'] = $hash;

// üye sayfasına gönder
header("Location: /home");
}
}

Baglanti.php (DB ve fonksiyonların olduğu dosya tüm sayfalara includeli.) Burada tüm sayfalardan üyelerin bilgilerini çekmek için bir fonksiyon mevcut. Ayrıca sayfanın başında ob start ve session start kodu mevcut.

if( isset($_SESSION['login']) ) {
$giris_yapildimi = 'evet';
$sl= $_SESSION['login'];
$sp= $_SESSION['password'];
$result = dbquery("SELECT * FROM uyeler WHERE username='".($sl)."' AND password='".($sp)."'");
$uyebilgi = $result->fetch_assoc();
} else {
$giris_yapildimi = 'hayir';
$uyebilgi = array();
}

Kaç gündür uğraşıyorum fakat bu problemi çözebilmiş değilim.

 
Gönderildi : 15/01/2018 19:47

(@aliuysal)
Gönderiler: 292
Üye
 

Merhaba; 

Değişikliği nerede yapabiliyor, profil sayfası gibi birşeyin olduğunu düşünüyorum söylediklerinizde, öyle ise o sayfanın kodlarını görebilirsem yardımcı olmaya çalışayım, session gibi duruyor sorunun kaynağı.

Dijital dönüşüm başlıyor...
RFID Sayım
WinFlow e-Fatura Onay Akış Süreç Yazılımı
Android El Terminali
Elektrikli Araç Şarj Yazılım Platformu
RFID Demirbaş
QrCode Api

 
Gönderildi : 15/01/2018 21:00

(@OmerKaptan)
Gönderiler: 1
New Member
 

Merhaba

Kaynak kodunuzu git uzerinden paylasabilirseniz hatayı kolayca cozumleyebilirim.

 
Gönderildi : 17/01/2018 03:37

Paylaş: