2009-07-29 14 views

Odpowiedz

3

Niektóre serwery są skonfigurowane tak, aby odzwierciedlały całą witrynę, dzięki czemu można uzyskać każdą stronę za pośrednictwem protokołu http lub https, w zależności od preferencji lub sposobu, w jaki przeglądarka przesyła je. https jest bezpieczny, ale nieco wolniejszy i obciąża twój sprzęt.

, więc możesz zaimplementować swoją witrynę i robić zakupy jak zwykle, ale zdecyduj się umieścić wszystko od koszyka do kasy, płatności itd. Pod https. aby to osiągnąć, wszystkie linki do koszyka są bezwzględne i poprzedzone prefiksem https:// zamiast http://. teraz, jeśli ktoś kliknie ikonę koszyka na zakupy, zostanie przeniesiony do bezpiecznej wersji, a ponieważ wszystkie linki z tego miejsca są znowu względne, pozostają tam.

, ale! mogą ręcznie zamienić https na http lub ręcznie na niezaszyfrowaną wersję za pomocą złośliwego linku itp.

w tym przypadku prawdopodobnie warto sprawdzić, czy skrypt został wywołany przez https (_SERVER["SERVER_PROTOCOL"], afaik), oraz odmówić wykonania, jeśli nie (dobra praktyka). lub wyślij przekierowanie do bezpiecznej witryny.

na marginesie: https nie używa protokołu SSL już exclusivley, TLS (następcę SSL, zobacz rfc2818) jest bardziej nowoczesny

zasada: użytkownicy powinni mieć wybór, czy chcą http lub https w środowiskach niekrytycznych, ale zmuszony do korzystania z https w najważniejszych częściach witryny (login/koszyk/płatność/...) w celu zapobiegania złośliwym atakom.

+0

bardzo interesujące! Czy możesz podać więcej informacji na temat dwóch punktów: 1- w jaki sposób mogą wywołać mój "https: //przyklad.com/pay.php" przez wywołanie "http: //example.com/pay.php"? czy mój plik "pay.php" znajduje się w folderze https, czy nie powinien otrzymać czegoś w rodzaju "Nie odnaleziono strony"? 2- od strony programistycznej, nie muszę się martwić o SSL czy TLS, jak jest skonfigurowany na serwerze, ponieważ niewiele mogę z nimi zrobić, prawda? Zasadniczo na serwerze pojawi się coś w rodzaju 2 folderów "http" i "https" i będę mógł wybrać, od czego mam zacząć, prawda? –

+0

jeśli istnieją 2 różne foldery, witryna nie jest odzwierciedlana, a powyższe informacje nie mają na ciebie żadnego wpływu. mówiłem o tym, że niektóre serwery są skonfigurowane w taki sposób, że zarówno http, jak i https są wskazane w tym samym folderze. i tak, po stronie programistów nie ma znaczenia, czy jest SSL czy TLS. – stefs

5

SSL oznacza "Secure Socket Layer" i jest to metoda zaszyfrowanej komunikacji HTTP (między innymi). Szyfruje ruch między przeglądarką internetową a serwerem, umożliwiając wysyłanie bezpiecznych danych bez obaw przed podsłuchem.

SSL to technologia na poziomie serwera WWW i nie ma nic wspólnego z PHP. Możesz włączyć dowolny serwer WWW z SSL, bez względu na to, czy ma na nim PHP, czy też nie, i nie musisz pisać żadnego specjalnego kodu PHP, aby twoje strony PHP wyświetlały się przez SSL.

Istnieje wiele, wiele przewodników, które można znaleźć w Internecie na temat konfiguracji SSL dla dowolnego serwera internetowego, z którego korzystasz. To szeroki temat. Możesz uzyskać start here dla Apache.

+0

SSL jest teraz TLS http://en.wikipedia.org/wiki/Transport_Layer_Security – TWith2Sugars

Powiązane problemy