PHP ile link üretmek

Başlatan ecarpar, 10 Nisan 2011 - 23:51:27

« önceki - sonraki »

0 Üyeler ve 4 Ziyaretçi konuyu incelemekte.

ecarpar

Merhabalar;

PHP ile kişiye özel link üretip, o link üzerinden siteye giriş yapıldığında o kişiye özel bir ekran göstermek nasıl yapılır? Tam mantığını kuramıyorum,

Öncelikle kişiye özel link içersinde kesinlikle kişinin adı vs geçmiycek, A2345gf4x2 gibi bir link vereceğim kişiye, kişi bu link ile girdiğinde hoş geldin ecarpar diycek mesela.
Varmıdır bir örnek veya yardım edebilicek birileri?
Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

ecarpar

cevap veriyorum :)
kişinin adı ve soy adı alınır, md5 e çevrilir, db de saklanır, daha sonra kullanıcıya www.******.com/?git=md5 ile şifrelenmiş bilgi linki yollanır, sayfanın başına sorgu konur ve gelen md5 kontrol edilir, gerekli karşılaştırma yapıldıktan sonra istenilen işlem yapılır.
Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

6ng4n

cookieleri neden kullanmıyorsunuz anlamadım?

ecarpar

Alıntı yapılan: 6ng4n - 27 Mayıs 2011 - 18:23:31
cookieleri neden kullanmıyorsunuz anlamadım?
ilk olarak cookie leri kullanmayı bilmiyorum ikinci olarak cookie lerin link üretmek ile ilgisini çözemedim, açarmısınız biraz. ?
Eşşeğin uzun bir yolculuğa çıkmış olması onun at olarak döneceği anlamına gelmez.

6ng4n

cookilerle kullanıcının sistemine bir kayıt yazarsınız burdan onun kim olduğunu hatırlayabilir yazılım , eğer bir kullanıcı otomasyonunuz varsa bilgiyi kullanıcı idsinden alabilirsiniz cookie yerine session da kullanılabilir.yani cookie veya sessiona kullanıcı oturum açtıktan sonra idsini yazarsanız sql sorgusu ile bilgiyi çekebilrsiniz.

cxerpw57

Bu sorunun cevabı session kullanarak ilermektir, aksi halde guvenlik açığı olacaktır. Yani eğer kişi siteye giriş yapmamışsa, ve linke tıklamış ise oncelikle login ekranına yonlendirilmelidir, daha once giriş yapılmış ve session oluşturulmuş ise kişi gonderilen sayfaya yonlendirilebilir. Facebook ve diğer büyük portallar böyle çalışır. Cookide bir başka çözümdür, ancak gene güvenlik açığı oluşturabilir, cookie içerisinde tutulacak bilgiler iyi şifrelenmelidir.



Yarım hazırlıkla, yarım tedbirle yapılacak taarruz, hiç taarruz etmemekten çok daha fenadır (1922). M.Kemal ATATÜRK
http://canerblt.wordpress.com
twitter : cabulut

yakusha

çerezler ufak ve verimsiz bilgileri tutmak dışında kullanılmamalıdır... asla giriş yapılmış veya çıkılmış gibi çok önemli veriler çerezler üstünden denetlenmemelidir...

session candır... onu bile doğru kullanmak gerekiyor :)
Artık bu forumu kullanmıyor.

canosayan

Alıntı yapılan: ecarpar - 27 Mayıs 2011 - 16:19:11
cevap veriyorum :)
kişinin adı ve soy adı alınır, md5 e çevrilir, db de saklanır, daha sonra kullanıcıya www.******.com/?git=md5 ile şifrelenmiş bilgi linki yollanır, sayfanın başına sorgu konur ve gelen md5 kontrol edilir, gerekli karşılaştırma yapıldıktan sonra istenilen işlem yapılır.

10.000 üyenin olduğu bir veritabanında tüm kayıtları md5e çevirip doğru kişiyi bulmak hammallıktan daha öte bir mantık hatasıdır.
Chmod bizim işimiz.

ersinkandemir

Peki @canosayan, sizi konuda bulmuşken, cookie mi session mı? :)
Where there's a shell, there's a way.



6ng4n

şunu belirteyim session da cookie olarak sisteminizde depolanır yani cookie'yi alıp şifrelemek ile aynı şey sadece php sizin yerinize yapıyor isteyen arkadaş açıp deneyebilir.cookie bir bilginin saklanma süresini belirlemede sağladığı esneklik gibi avantajları var.facebook falan cookieleri kullanır firefoxtan bakabilirsiniz sayfa bilgileri güvenlik sekmesinde var cookie bilgisi.

ersinkandemir

Session sunucu taraflı diye biliyordum, teşekkürler bir yanlış bilgiyi düzelttiniz. :)
Where there's a shell, there's a way.



canosayan

session verisinin sadece id değeri cookie üzerinde tutulur.
konuya gelince kişiye özel link üretmek giriş amaçlı olarak manasız. sonuçta link tarayıcı geçmişinde kalır. session ve cookie arasında sadece birini seçmenin manası yoktur. mesela cookielere javascript ile de ulaşabilirsiniz. ama session'a sadece php ile erişilebilir. bu nedenle sadece biri değil karması kullanılır.
Chmod bizim işimiz.