Ich bin ziemlich neu in der Sicherheit (Zertifikate) und nicht verstehen, wie es funktioniert. Ich habe IIS
Server und Zertifikat ist installiert. Ich kann meine Website auf zwei verschiedene Arten öffnen: http://website
und 'https://website'. Wenn ich es als http
öffne dann in der Adressleiste kann ich sehen, dass die Website ist nicht sicher, wenn ich es als https
öffnen dann Vorhängeschloss erscheint. Aber ich verstehe nicht, wo Sicherheit in diesem Fall ist. Wie man es mit php
steuert? Ich kann überprüfen, ob Website $_SERVER['HTTPS'] != 'on'
und dann Benutzer Zugriff hat, aber wenn ich Zertifikat vom Server entfernen kann ich immer noch als "https" zugreifen, aber Browser sagt, dass nicht sichere Seite, aber $_SERVER['HTTPS']
immer noch als on
Wie kann ich Sicherheit steuern ?Wie überprüft man, ob Website ist sicher mit PHP
Antwort
Wenn Sie über https auf eine Webseite zugreifen, verschlüsselt der Browser Ihre Anfrage mit SSL. Wenn Sie über Ihre Website auf eine Webseite zugreifen, ist diese nicht verschlüsselt. Das Zertifikat ist nur der Beweis für den Benutzer, dass die Verschlüsselung sicher ist. Die Variable $ _SERVER ['HTTPS'] sagt nur, ob der Benutzer über https oder http auf die Seite zugegriffen hat.
Geringfügige Anpassung, das Zertifikat ist da als Beweis, dass der Server verbunden ist, wer sie sagen, sie sind. – Flosculus
So kann ich nicht mit 'php' identifiziert werden, wenn mit SSL verschlüsselt dann' ok' sonst verweigert? – Klapsius
Ja, und dank Flosculus für die Anpassung. – knurzl
- 1. Wie überprüft man, ob Suhosin installiert ist?
- 2. Wie überprüft man, ob Javascript deaktiviert ist?
- 3. PHP: Wie überprüft man, ob die Datei vollständig ist
- 4. Wie sicher ist PHP?
- 5. Wie überprüft man, ob php: // Eingabe gesetzt ist?
- 6. amqplib - wie überprüft man sicher, ob eine Queue existiert
- 7. Wie überprüft man, ob ein Datum abgelaufen ist (PHP)
- 8. Wie überprüft man, ob Verzeichnisinhalte sich mit PHP verändert haben?
- 9. Wie überprüft man, ob GoogleApiClient verbunden ist?
- 10. Wie überprüft man, ob NumLock aktiviert ist
- 11. Wie überprüft man, ob "Radiobutton" aktiviert ist?
- 12. Wie überprüft man, ob Flash installiert ist?
- 13. Wie überprüft man, ob eine Datei eine Bash-Datei mit PHP ist?
- 14. Wie überprüft man, ob TextView leer ist?
- 15. Wie überprüft man, ob ContentPlaceHolder leer ist?
- 16. Wie überprüft man, ob NSURLSessionDataTask abgeschlossen ist?
- 17. Wie überprüft man, ob Bootstrap verfügbar ist?
- 18. Wie überprüft man, ob die Schnittstelle ist
- 19. Wie überprüft man, ob mithril.js geladen ist?
- 20. Wie überprüft man, ob IndexPath gültig ist?
- 21. Wie überprüft man, ob ein Benutzer online ist
- 22. Wie überprüft man, ob ANY PHP-Parameter in URL existiert
- 23. Wie überprüft man, ob crosswalk webview?
- 24. Wie überprüft man, ob eine Eigenschaft virtuell mit Reflektion ist?
- 25. Wie überprüft man, ob Inline-JavaScript deaktiviert ist (mit Tampermonkey)
- 26. Wie man überprüft, ob ein Datentyp mit typedef "definiert" ist
- 27. Wie überprüft man, ob JSP mit einer Datenbank verbunden ist?
- 28. Wie überprüft man, ob GPU-Speicher verfügbar ist mit PyOpenCL
- 29. Wie überprüft man, ob die Arbeitskopie mit pysvn sauber ist?
- 30. Wie überprüft man, ob localhost
Es ist nicht wirklich Sache von PHP zu wissen, wie sicher eine Clientverbindung ist. Auf Nginx '$ _SERVER ['HTTPS']' ist nicht einmal genau. Wenn Sie HTTPS erzwingen wollen, verwenden Sie '.htaccess' oder Nginx configuration to' 301' umleiten von HTTP zu HTTPS. – Flosculus
Ich denke ich verstehe jetzt. So kann ich auf IIS aktivieren, um sie zu zwingen, SSL zu verwenden. – Klapsius
Genau, HTTPS sollte vom HTTP-Server gehandhabt werden, PHP sollte in diesem Fall nur für das Authentifizieren von Benutzeranmeldeinformationen und das Bereitstellen von Inhalt zuständig sein. BTW Ich denke, dass ich total über die Tatsache verglaste, dass Sie IIS verwenden, sorry lol – Flosculus