Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> HTTP Basic Authorization - jak wysłać nagłówek, Niezbyt standardowa metoda
who?
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 4.05.2005

Ostrzeżenie: (0%)
-----


Witam,
Sprawa wygląda tak, że mam na serwerze katalog chroniony hasłem, a do jego ochrony wykorzystywana jest podstawowa metoda uwierzytelniania HTTP. Teraz chciałbym napisać skrypt, który mógłby się dostać do tego katalogu bez wywoływania standardowego okna logowania. Czyli muszę jakimś sposobem wysłać do tego serwera odpowiednio spreparowany nagłówek, który będzie zawierał wszystkie te dane jakie wysyła przeglądarka po wpisaniu danych do (standardowego) okna logowania. I teraz pytanie brzmi jak to zrobić? header() chyba odpada, bo on tylko odpowiada nagłówkiem klientowi, który łączy się z nami (może się mylę)? Ma ktoś może jakieś propozycje jak to zrobić?

Pozdrawiam,
who?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
chomiczek
post
Post #2





Grupa: Zarejestrowani
Postów: 271
Pomógł: 4
Dołączył: 5.01.2005

Ostrzeżenie: (0%)
-----


Rozwiązanie jest tutaj: http://www.designstudio.com.pl/test/test.php
potrzebujemy 2 pliki:
1. test.php
  1. <?php
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  4. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1");
  5. curl_setopt($ch, CURLOPT_USERPWD, "aaa:aaa");
  6. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  7. curl_setopt($ch, CURLOPT_URL, "http://sig.tivi.net.pl/haslo/index.php");
  8.  
  9. $data=curl_exec($ch);
  10. curl_close($ch);
  11.  
  12. preg_match_all("/<img src=\".*haslo\/(.*).gif\">/Us", $data, $matches);
  13.  
  14. for($i=0; $i<count($matches[0]); $i++) {
  15. print ("<img src=img.php?foto=".$matches[1][$i].">");
  16. }
  17. ?>

2. img.php
  1. <?php
  2. $foto = curl_init();
  3. curl_setopt($foto, CURLOPT_RETURNTRANSFER, 1);
  4. curl_setopt($foto, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1");
  5. curl_setopt($foto, CURLOPT_USERPWD, "aaa:aaa");
  6. curl_setopt($foto, CURLOPT_URL, "http://sig.tivi.net.pl/haslo/".$_GET['foto'].".gif");
  7.  
  8. $data2=curl_exec($foto);
  9. curl_close($foto);
  10.  
  11. print($data2);
  12. ?>


Najważniejsze, aby dobrze przygotowac pliki ze zdjęciami w tym przypadku index.php znajdujący się na Twoim serwerze.. wystrczy, że podasz samą nazwe pliku, jesli jednak to zmienisz modyfikuj kod
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 17:54