Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Odczyt nagłówków protokołu
mund
post 9.10.2002, 07:07:57
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.10.2002

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


Witam,

W jaki sposób można odczytać jakim protokołem zostało wysłane zapytanie :?:

Przykład:
skrypt ma się wykonywać wtedy-i-tylko-wtedy gdy został wywołany po HTTPS,
w przeciwnym wypadku ma być przekierowany do bezpiecznego połączenia i dopiero wtedy wykonany.
Go to the top of the page
+Quote Post
dragossani
post 9.10.2002, 10:01:59
Post #2





Grupa: Przyjaciele php.pl
Postów: 398
Pomógł: 0
Dołączył: --
Skąd: Poznań

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


Najprościej sądze po porcie. SSL działa zwykle na porcie 443. Można też po adresie.
Kod
if (($SERVER_PORT==443)||(substr($SCRIPT_URI,0,5)=='https'))

{

//kod strony

} else {

   $adres='https://'.$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"];

   header('Location: '.$adres);

};


--------------------
cease this long, long rest / wake and risk a foul weakness to live / when it all comes down / watch the smoke and bury the past again / sit and think what will come / raise your fears and cast them all away
Go to the top of the page
+Quote Post
mund
post 9.10.2002, 11:23:56
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.10.2002

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


Dokładnie o to mi chodziło smile.gif

niestety nie działa sad.gif

może dlatego, że na serwerze SSL jest uruchomione osobnym programem, a nie jako moduł Apache'a questionmark.gif

Na tym serwerze czy to po HTTPS czy po HTTP zawsze pokazuje port 80...(to specyfika zewnętrznego programu do SSL)

a zmiennej $SCRIPT_URI wogole nie pokazuje:(
zalezy to od wersji serwera www czy może od php??
na serwerze jest php 4.0.6 i Apache 1.3.22
Go to the top of the page
+Quote Post
Mac
post 9.10.2002, 11:32:39
Post #4





Grupa: Zarejestrowani
Postów: 294
Pomógł: 0
Dołączył: 9.04.2002
Skąd: miejscowosc

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


Cytat
Najprościej sądze po porcie. SSL działa zwykle na porcie 443. Można też po adresie.
Kod
if (($SERVER_PORT==443)||(substr($SCRIPT_URI,0,5)=='https'))

{

//kod strony

} else {

   $adres='https://'.$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"];

   header('Location: '.$adres);

};

Jeżeli o takie rozwiązanie chodziło to ten temat nie powinien być na forum php pro tylko na php smile.gif
smile.gif
Go to the top of the page
+Quote Post
mund
post 9.10.2002, 12:12:35
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.10.2002

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


Może masz rację <<<<<przepraszam>>>>>

ale jak do tej pory nikt nie potrafił mi na to odpowiedzieć.....

:oops:
Go to the top of the page
+Quote Post
dragossani
post 9.10.2002, 12:18:42
Post #6





Grupa: Przyjaciele php.pl
Postów: 398
Pomógł: 0
Dołączył: --
Skąd: Poznań

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


Zgadzam się. Gdyby to ode mnie zależało to bym go tam przeniósł. Pytanie sprowadzało się do wykrycia czy połączenie jest szyfrowane - nie do końca zgodnie z tematem.
A inne protokoły? Nie wiem jakie autor pytania miał na myśli. Może ktoś rozwinie temat?


--------------------
cease this long, long rest / wake and risk a foul weakness to live / when it all comes down / watch the smoke and bury the past again / sit and think what will come / raise your fears and cast them all away
Go to the top of the page
+Quote Post
Officerrr
post 9.10.2002, 13:01:11
Post #7





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 30.08.2002

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


$_SERVER["SSL_VERSION_LIBRARY"]
$_SERVER["SSL_VERSION_INTERFACE"]
$_SERVER["SSL_PROTOCOL"]


--------------------
--
[Linux Administrator]
Go to the top of the page
+Quote Post
mund
post 10.10.2002, 07:20:04
Post #8





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.10.2002

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


Cytat
$_SERVER["SSL_VERSION_LIBRARY"]
$_SERVER["SSL_VERSION_INTERFACE"]
$_SERVER["SSL_PROTOCOL"]


pewnie OK jeżeli masz SSL wkompilowane jako moduł do Apache'a smile.gif

jak napisałem u mnie nie można wykryć SSL za pomocą zmiennych serwera ponieważ obsługa szyfrowanych połączeń zajmuje się zewnętrzny program Stunel, konwertuje on każde zapytanie z portu 433 na 80 i dla serwera WWW jest to normalny HTTP.
Dlatego moje pytanie było o odczyt nagłówków, bo może tam są zapisywane jakieś dodatkowe informacje questionmark.gifquestionmark.gif

Poza tym zastanawiam się jak można odczytać informacje o nagłówkach, które już zostały wysłane?questionmark.gif
Go to the top of the page
+Quote Post
talee
post 10.10.2002, 12:26:19
Post #9





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 7.09.2002
Skąd: Bydgoszcz

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


Jezeli chodzi o odczyt naglowkow, to powinno pomoc:
getallheaders()
i w php 4.3
apache_request_headers()
apache_response_headers()


--------------------
Inni dążą do doskonałości, ja nie muszę ;)
Go to the top of the page
+Quote Post
mund
post 10.10.2002, 14:05:39
Post #10





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.10.2002

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


jak na razie jedyne co udało mi sie zrobic:
znalazlem ze Stunel odwoluje sie do Apacha jako localhost, wiec blokada dla wszystkich oprócz Stunela przez localhost i jestem pewien ze zapytanie było po HTTPS.

Szkoda ze tak na okretke, ale admin powiedzial ze nie wkompiluje SSL do Apache'a sad.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 21.06.2025 - 03:51