[php] check voor https

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben een klein scriptje aan het maken voor te inloggen.
Nu wil ik alleen weten of die persoon op basis van httpS of op gewone http protocol aan het surfen is op mijn site.

Maar het probleem is (kan het nergens gevonden krijgen) of dat ik het complete URL te zien kan krijgen.

Wel kan ik $_SERVER[REQUEST_URI] maar dan krijg ik alles wat achter het domein komt.
Ook heb ik voor het gemak mijn server hernoemt naar mijn domein (wat eigenlijk niet de bedoeling is maar ok).

Is het dus mogelijk om op een of andere manier de complete url uit te lezen.

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 19-09 22:18

chem

Reist de wereld rond

Heb je al uberhaupt gekeken naar phpinfo(); ?

Het staat gewoon in de _SERVER vars nl.

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 09-09 17:18

Acties:
  • 0 Henk 'm!

  • spone
  • Registratie: Mei 2002
  • Niet online
Using Apache/mod_ssl, there are further environment variables available to check for an SSL connection (can be more useful than $_SERVER['SERVER_PORT']), documented here: http://www.modssl.org/docs/2.8/ssl_reference.html#ToC25

To test whether the client connected with SSL I can use $_SERVER['HTTPS'] e.g (with redirect to secured, current URL);

PHP:
1
2
3
4
5
6
<?php
if ( !isset($_SERVER['HTTPS']) || strtolower($_SERVER['HTTPS']) != 'on' ) {
   header ('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
   exit();
}
?> 

i5-14600K | 32GB DDR5-6000 | RTX 5070 - MacBook Pro M1 Pro 14" 16/512