• 03-05-2009, 17:25:34
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    merhabalar;
    bir proje için güvenli sayfa oluşturuyorum ancak http ile https arasında session değerlerini taşıyamiyorum.

    bu konuda tecrübelerinizi paylaşırsanız sevinirim.
  • 03-05-2009, 18:36:45
    #2
    bi bilgim yok ama şöyle bi sayfa buldum:
    Sessions/Cookies between sites - ASP Database

    kısaca çeviriyim:
    -eleman sormuş:
    farklı domainler altında iki sitem var ve siteler aynı isp de (hostta). http-https arasında geçişlerde session değerlerini taşıyabilir miyim ? eğer https geçildiğinde bazı değerlerin kontrolü için tekrar http ye gidilse, oradaki mevcut session ve cookie değerleri de silinir mi?
    - biri demiş ki:
    session değişkenleri ve cookiler http-https protokolleri arasında taşınamaz, ancak, http ve https sayfaları aynı iis uygulaması altında ise bu mümkündür. bu iis için bir açık mıdır veya bir özellik midir bilmiyorum.

    (burası sana yardımcı olabilir, mantık güzel)
    http ile https arasında data taşıyabilirsin. veriler için veritabanında bi tablo oluştur ve bilgileri ordan sağla.
    sessionlar, timeout (zamanaşımı) ayarlandığı sürece her zaman erişilebilirdir. bunun tarayıcı ayarlarıyla ilgisi de unutulmamalı. (bak bu doğru)
    -başka biri de şunu demiş:
    iis6 ve windows server 2003 deneyimlerimden yola çıkarak, http ve https geçişlerinde session değişkenlerinin tutulduğunu biliyorum. bu bir açıksa bile, umarım microsoft bunu düzeltmeye kalkmaz.
    session değişkenleri her zaman için bir session id ile bağlantılıdır, bunların tutulup tutulmayacağı tarayıcı ayarlarıyla ilgilidir. tarayıcı https verilerinden bu session id ile diğerinin eşleşip eşleşmediğine karar verebilir.
    orjinal soruya dönecek olursan, https sayfan başka bir domain üzerinde olduğu için tarayıcı bunu kesinlikle farklı bir session id olarak tanımlayacağından bu bilgileri tutmayacaktır, (yani http den https ye başka bir domain ile gidiyorsa, session bilgileri tutulmaz) ancak http sayfaya geri gittiğinde sessionlar muhafaza edilmiş olur. (yani http kısmı normal devam eder.)
  • 03-05-2009, 20:25:59
    #3
    ilginize teşekkür ederim

    başka bir domain ile geçiş yapmıyorum http://site.com/a.asp - https://site.com/a.asp bu şekilde ancak session taşımıyor
  • 03-05-2009, 21:08:44
    #4
    hocam dedikleri gibi tarayıcılardan da kaynaklanabilir, olmayabilir yani ama database olayını bi düşün istersen.
    mesela, bi tablo oluştur ve giren kişileri buraya kaydettirip https bölümünde session yerine database bilgisiyle işlem yaptır. daha pratik bi yol bulamazsan bunu dene derim. ilem bitince silinen kayıtlar oluşturma şeklinde bişidüşünebilirsin.
  • 05-05-2009, 04:12:41
    #5
    Üyeliği durduruldu
    Şöyle bişey düşündünüz mü acaba daha kolay güvenilir olacağı kanaitindeyim.

    Misalen
    a site : Sitem.com - En iyi Sitem bilgi ve alim kaynaklar. Bu alan adi satilik.
    b sitesi : www.denemeb.com

    iki site miz var ve a sitemizde ki bir üye b sitemize gittiğinde üye girişi aynen devam etsin istiyoruz. ikisi de aynı makine de ve MYSQL veri tabanı kullandığı kanaatindeyim( Genellikle mysql kullandığımdan dolayı ).

    Session_bilgi adı altında bir tablomuz var ve içerisinde k_adi şifre giriş tarihi ip adresi olarak dört alanımız var.
    Bir ziyaretçi gelip a sitesine üye giriş yaptığı zaman a ve b stesinde ki session_bilgi tablosuna bilgileri girilsin.
    Aynı ziyaretçi b sitesine girdiği zaman tabi doğal olarak sessionlar gitmiş olacak ki bu durumda session_bilgi tablosundan ip ye yönelik bilgi alacağız ? Üye giriş süremiz de 10 dakika olsun.

    Üye a sitesinden b sitesine gitti zaman ve üye girişi yapalı 10 dakikadan çok değil ise, üye bilgilerini sessionlara girebilir.


    Saat 4 ü geçiyor bu kadar bir mantık çıkartabiliyorum, kusura bakmayın biraz devrik cümlelerde kurdum .
  • 05-05-2009, 08:18:04
    #6
    bende aynı şekilde veritabanı işlemleriyle halletmesini söyledim, hiç bi çözüm bulamazsa sonunda diye, ama arkadaş da sağolsun mantığıyla güzel bi örnek de vermiş.
  • 05-05-2009, 11:33:51
    #7
    ip baz alarak session database'den çekmek problemli olur. iki kişi aynı internet cafe'den siteye girdi o zaman ne olacak. ip aynı bi bakacak başkası olarak giriş yapmış?
  • 05-05-2009, 11:48:09
    #8
    sadece ip için tablo oluşturmayacak, misal; kullanıcı, şifre, ip, giriş saat (özellikle dakika ve saniye kıyaslaması için). tek bi değişkenle güvenlik diye bişi kalmaz haliyle. bunların hepsini sınatıp geçerliyse session oluşturacak. (hatta tarayıcı tipine, ekran çözünürlüğüne kadar cılkını çıkarabiliriz, hiç bi yolu yoksa bunu deneyebilir, aslında zor bişey değil, kodu bi kere yazdıktan sonra gerisi otomatik olacağından... ama http-https taşımanın başka bi yolu varsa bunlar nafile kalıyo, kesin bilen bi arkadaş yazsa çok iyi olur aslında.)
  • 05-05-2009, 15:05:07
    #9
    Üyeliği durduruldu
    Arkadaşlar bu kadar neden kasıyorsunuz kendinizi yöntem çok basit ;
    http den HTTPS protokolüne üye bilgisi taşımak istiyorsanız bunun için cokies kullanabilirsiniz, Örnek :

    Cookies Yazma burada dikkat edilecek husus domain adını yazmaktır.
    <%
    Response.Cookies("Uyebilgileri")("UyeAdi") = "Ahmet"
    Response.Cookies("Uyebilgileri")("Parolasi") = "parolasi"
    Response.Cookies("Uyebilgileri").Domain = "domain.com"
    %>
    Cookies Okuma :
    <%
    strUyeAdi = Request.Cookies("Uyebilgileri")("UyeAdi")
    strUyeParolasi = Request.Cookies("Uyebilgileri")("Parolasi")
    
    Response.Write (strUyeAdi)
    Response.Write ("<br>")
    Response.Write (strUyeParolasi)
    %>
    Olay bu kadar kendinize iyi bakın