Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

PHP HTTP Üyelik girişi

Konu, 'PHP' kısmında YaaKod tarafından paylaşıldı.

  1. YaaKod

    YaaKod Yeni Üye

    Kayıt:
    31 Ocak 2018
    Mesajlar:
    2
    Beğenilen Mesajlar:
    0
    Şehir:
    Newyork
    Merhabalar anonim sosyal media scripti kodluyorum ve giriş yaparken http kullanıyorum

    Kod:
    <?php
    $saha = 'YASAK';
    
    // kullanici => parola
    $kullanicilar = array('yonetici' => 'gizlisifre', 'misafir' => 'misafir');
    
    
    if (empty($_SERVER['PHP_AUTH_DIGEST'])) {
        header('HTTP/1.1 401 Unauthorized');
        header('WWW-Authenticate: Digest realm="'.$saha.
               '",qop="auth",nonce="'.uniqid().'",opaque="'.md5($saha).'"');
    
        die('Giriş yapmak zorundasın');
    }
    
    
    // PHP_AUTH_DIGEST değişkenini inceleyelim
    if (!($veri = http_ozet_cozumle($_SERVER['PHP_AUTH_DIGEST'])) ||
        !isset($kullanicilar[$veri['username']]))
        die('Kimlik Doğrulama Hatası!');
    
    
    // geçerli yanıt üretimi
    $A1 = md5($veri['username'] . ':' . $saha . ':' .
          $kullanicilar[$veri['username']]);
    $A2 = md5($_SERVER['REQUEST_METHOD'].':'.$veri['uri']);
    $gecerli_yanit = md5($A1.':'.$veri['nonce'].':'.$veri['nc'].':'.
          $veri['cnonce'].':'.$veri['qop'].':'.$A2);
    
    if ($veri['response'] != $gecerli_yanit)
        die('Kimlik Doğrulama Hatası!');
    
    // tamam, geçerli kullanıcı adı & parolası
    echo 'Hoşgeldiniz : ' . $veri['username'];
    
    
    // http kimlik doğrulama başlığını çözümleyecek işlev
    function http_ozet_cozumle($metin)
    {
        // eksik veriye karşı koruma
        $gerekli_kisimlar = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1,
                                  'username'=>1, 'uri'=>1, 'response'=>1);
        $veri = array();
        $keys = implode('|', array_keys($gerekli_kisimlar));
    
    
        preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@',
                        $metin, $eslesen, PREG_SET_ORDER);
    
        foreach ($eslesen as $m) {
            $veri[$m[1]] = $m[3] ? $m[3] : $m[4];
            unset($gerekli_kisimlar[$m[1]]);
        }
    
        return $gerekli_kisimlar ? false : $veri;
    }
    ?>
    Benim istediğim şey bu kod ile ilgili
    Kod:
    $kullanicilar = array('yonetici' => 'gizlisifre', 'misafir' => 'misafir');
    bu kısımdaki verileri PDO ile veritabanından çekip öyle giriş yapması ben bunu nasıl yaparım ?
     
  2. EMRESONMEZESK

    EMRESONMEZESK Üye

    Kayıt:
    1 Aralık 2016
    Mesajlar:
    119
    Beğenilen Mesajlar:
    13
    Şehir:
    ESKİŞEHİR
    login paneli oluşturdun ve ve veri tabanına bağlanmasını istiyosun doğru mu anladım