![]() |
![]() ![]() |
![]() |
![]()
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. |
|
|
![]()
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
|
|
|
![]()
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
![]() niestety nie działa ![]() może dlatego, że na serwerze SSL jest uruchomione osobnym programem, a nie jako moduł Apache'a ![]() 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 |
|
|
![]()
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 ![]() ![]() |
|
|
![]()
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: |
|
|
![]()
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
|
|
|
![]()
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] |
|
|
![]()
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 ![]() 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 ![]() ![]() Poza tym zastanawiam się jak można odczytać informacje o nagłówkach, które już zostały wysłane? ![]() |
|
|
![]()
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ę ;)
|
|
|
![]()
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 ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 03:51 |