Başka bir siteye çağırıyor?

4 Cevap php

Tamam - Sadece, basit bir .htaccess / .htpasswd komut ile korunan Varolan bir sayfayı, birleştirmek için ihtiyacı olan bir site inşa ediyorum.

Nasıl PHP kullanarak alıcı site adı / şifre geçebilir?

Yardımlarınız için şimdiden teşekkürler!

GÜNCELLEME - Ben soruyu fazla karmaşık olabilir düşünüyorum. Ne yapmam gerek kulüpler aslında:

<a href="http://username:password@url.com/" target="_blank">The link<a>

Hangi aslında, IE ama her şey mükemmel çalışıyor. Ben bir daha evrensel, basit bir çözüm bulabilirseniz ben altın değilim.

Yardımlarınız için şimdiden teşekkürler, tüm!

4 Cevap

Ben cURL tanımak gerekir alxp katılıyorum. Temel özü HTTP Basic Auth kullanırken, kimlik başlıklardaki bir base64 kodlanmış dize olarak gönderilir olmasıdır. İşte PHP'nin cURL uzantısını kullanarak basit bir örnek:

$url = '...';
$username = '...';
$password = '...';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Authorization: Basic " . base64_encode($username . ":" . $password)
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

$result = curl_exec($ch);
print $result; 

Umarım ki olur! HTTP Basic here üzerine kadar okuyun ve PHP's cURL extension here

Bu örnek kod ve hiçbir hata denetimi, vb içerdiğini unutmayın

Eğer sayfasını indirmek için file_get_contents işlevini kullanıyorsanız, bu gibi bir şey kullanabilirsiniz:

$data = file_get_contents('http://username:password@example.com/path/');

Eğer kıvırmak kütüphane tanımak eğer, iyi bir giriş bir suername ve parola göndermek için nasıl dahil olmak üzere, here bulunabilir kapalı iyi olacak.

Siz biçiminde, basit bir http yönlendirme vasıtasıyla düz metin olarak kullanıcı adınızı ve şifrenizi geçebilir

http://username:password@yoursite.com/yourpage

Ancak, muhtemelen olmamalıdır - bu sözdizimi görünce bazı tarayıcılar artık açıkça onay için rahatsız.

Sen file_get_contents ile yukarıdaki URL () yükleme ve tarayıcıya sonuçları damping tarafından, ancak kullanıcı bu gizleyebilirsiniz. Sayfanın HTML çıktı kendi sunucusunda dış dosyaları (resim / js / css) göreli bağlantılar kullanır eğer bu işe yaramaz.