Hikayeler

Reklam vermek için turkmmo@gmail.com

PHP – HTTP Kimlik Doğrulaması

Carissa

Administrator
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye Turkmmo Discord Nitro Booster
Admin
Katılım
2 Mar 2015
Konular
59,185
Mesajlar
88,376
Online süresi
4ay 14g
Reaksiyon Skoru
14,227
Altın Konu
2,398
Başarım Puanı
1,051
TM Yaşı
11 Yıl 1 Ay 20 Gün
MmoLira
694,336
DevLira
234

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

PHP'de header() fonksiyonu, istemci tarayıcısına bir "Kimlik Doğrulama Gerekli" mesajı göndermek için kullanılır ve bu da bir Kullanıcı Adı/Parola giriş penceresinin açılmasına neden olur. Aslında header() herhangi bir ham HTTP başlığını göndermenize olanak tanır.

header(string $header, bool $replace = true, int $response_code = 0): void

Dize parametresi header() fonksiyonuna geçirilir. Örneğin:

header("HTTP/1.1 404 Not Found");

Gönderilecek HTTP durum kodunu anlamak için kullanılır.

Tarayıcıyı başka bir URL'ye yönlendirmek için header() fonksiyonunu da kullanabilirsiniz.

Kullanıcı bir kullanıcı adı ve parola girdikten sonra, PHP betiğini içeren URL, PHP_AUTH_USER, PHP_AUTH_PW ve AUTH_TYPE ön tanımlı değişkenleri sırasıyla kullanıcı adı, parola ve kimlik doğrulama türüne ayarlanarak tekrar çağrılacaktır. Bu ön tanımlı değişkenler $_SERVER dizisinde bulunur. Yalnızca "Basic" ve "Digest" kimlik doğrulama yöntemleri desteklenir.

PHP:
<?php

   /* Redirect browser */
   header("Location: http://www.example.com/");

   /* Make sure that code below does not get executed when we redirect. */
   exit;
  
?>

İsteğe bağlı replace parametresi, başlığın önceki benzer bir başlığı değiştirip değiştirmeyeceğini veya aynı türde ikinci bir başlık ekleyip eklemeyeceğini belirtir ve response_code parametresi HTTP yanıt kodunu belirtilen değere zorlar.

İstemci kimlik doğrulamasını zorlayabilmek için, belge kök klasöründe bir .htaccess dosyasına ihtiyacınız var. Yeni bir metin dosyası açın, içine aşağıdaki metni koyun ve adını .htaccess olarak kaydedin.

CGIPassAuth On

Örnek

Bir sayfada istemci kimlik doğrulamasını zorlayacak bir örnek betik parçası aşağıdaki gibidir:

PHP:
<?php
   if (!isset($_SERVER['PHP_AUTH_USER'])) {
      header('WWW-Authenticate: Basic realm="My Realm"');
      header('HTTP/1.0 401 Unauthorized');
      echo 'User hits Cancel button';7
      exit;
   } else {
      echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
      echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
   }
?>

Çıktı

Komut dosyasını bir tarayıcıda ziyaret ettiğinizde, aşağıdaki gibi bir iletişim kutusu açılır:

php_http_authentication_1.jpg

Oturum açma düğmesine tıkladığınızda, oturum açma kimlik bilgilerini doğrulamak için bir arka uç betiği olabilir. Kimlik doğrulaması yapıldığında, PHP_AUTH_USER ve PHP_AUTH_PW anahtarlarıyla iki sunucu değişkeni oluşturulacak ve bunlar phpinfo() fonksiyonunun çıktısıyla doğrulanabilir.

php_http_authentication_2.jpg
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst