Tydzień temu Google wysłał mi e-mail, aby przejść HTTPS. Jeśli nie prześlę HTTP na HTTPS, pokaże moje połączenie niezabezpieczone wszystkim odwiedzającym moją stronę, którzy spróbują wprowadzić tekst w mojej witrynie.
Czy bez korzystania z protokołu SSL istnieje inny sposób zabezpieczenia mojego połączenia? Ponieważ jest to związane z kosztownym procesem korzystania z protokołu SSL w internetowym adresie URL, szukam innej opcji.
security
google-chrome
forms
Hasan M. Naheen
źródło
źródło
http://
nie jest OK, co jeszcze jest poza tymhttps://
? Czy istniejeabc://
,lgbtqiapk+://
lubdps://
?Odpowiedzi:
Google nie tylko narzeka na „bezpieczeństwo” (które może obejmować wiele różnych tematów), ale przede wszystkim na szyfrowanie / HTTPS. Za pomocą zwykłego protokołu HTTP połączenie między klientem a serwerem jest nieszyfrowane, dzięki czemu każdy może potencjalnie zobaczyć i przechwycić wszystko, co zostało przesłane. Zazwyczaj wyświetla to monit tylko wtedy, gdy zezwalasz użytkownikom na logowanie (np. Przesyłanie nazwy użytkownika / hasła) lub przesyłanie informacji o płatności za pomocą niezaszyfrowanego połączenia. Ogólne przesłanie formularza „tekstowego” niekoniecznie stanowiłoby problem. Jednak, jak zauważył @Kevin w komentarzach, Google / Chrome planuje rozszerzenie tego w przyszłości :
Zainstalowanie certyfikatu SSL na swojej stronie (lub użycie front-end proxy takiego jak Cloudflare do obsługi SLL) jest jedynym sposobem szyfrowania ruchu do Twojej witryny.
Jednak nie jest to obecnie „kosztowny proces”. Cloudflare ma opcję „bezpłatną”, a Let's Encrypt to bezpłatny urząd certyfikacji, który domyślnie obsługuje wiele hostów.
źródło
Nie polecam, ale możesz ominąć tę wiadomość, nie używając oryginalnych pól tekstowych. Można tworzyć własne pola wejściowe za pomocą regularnych
div
, które mająonkeypress
zdarzenie. Lub możesz utworzyćdiv
element zcontenteditable
ustawionym atrybutemtrue
.W ten sposób użytkownicy będą mogli wprowadzać informacje na swojej stronie bez użycia
input
elementów tagu.źródło
XMLlHTTPRequest
(aka AJAX) do wysłania informacjiJeśli po prostu podajesz pliki statyczne lub możesz umieścić serwer proxy z przodu, możesz użyć serwera takiego jak serwer caddy, który obsługuje to wszystko za pomocą opcji Let Encrypt, eliminuje to problem z przydzielaniem certyfikatów i nie musisz tego robić zainstaluj dowolne inne oprogramowanie.
Alternatywnie możesz skorzystać z usługi takiej jak cloudflare - ich bezpłatny plan oferuje bezpłatny https.
Wreszcie, niektórzy gospodarze oferują teraz bezpłatne certyfikaty https, w tym Dreamhost . Sprawdź, czy twój obecny host oferuje to jako opcję.
Nie zalecałbym próby obejścia tego problemu, istnieje tylko jeden sposób, aby zabezpieczyć witrynę, a przeglądarki będą w końcu ostrzegać o każdej witrynie, która nie ma protokołu https, bez względu na treść. Sieć zmierza w kierunku https wszędzie.
źródło
wydaje się, że nikt inny nie wspomniał
jeśli posiadasz każdą maszynę, która łączy się z Twoją witryną
np. „prawdopodobnie nie tego chcesz”, podobnie jak ustawienie korporacyjne, możesz utworzyć własny urząd certyfikacji, zainstalować jego publiczny certyfikat na wszystkich komputerach (również we wszystkich przeglądarkach i sklepach z certyfikatami), które łączą się z Twoją witryną. ta opcja jest wolna od monetyzacji stron trzecich; jest to ten sam szyfr szyfrowania, ale nie jesteś zalogowany do zaufania publicznego (np. twoje uprawnienia nie są rozpoznawane przez Google Chrome, Mozilla Firefox itp., tak jak Let's Encrypts), ale zostaną rozpoznane przez maszyny skonfigurowane, aby ufać sobie .
wprawdzie umowy związane z ustanowieniem urzędu certyfikacji są nieco niejasne, a konserwacja może być bardzo pracochłonna - więc zostawię je tutaj, prawdopodobnie najlepiej przeprowadzisz głębokie badania nurkowe na temat, który naprawdę Cię interesuje w tym podejściu.
choć w przypadku niewylecznego wdrożenia, jeśli możesz spróbować XCA
XCS to przyzwoity sposób wydawania certyfikatów dla małych wdrożeń i zawiera dokumentację pomocy, która opisuje całą konfigurację.
źródło
Mam kilka pomysłów.
Jeśli powodem HTTPS jest zarządzanie logowaniami, możesz zminimalizować efekt we wszystkich przeglądarkach, oferując użytkownikom pozostanie zalogowanym. Następnie, gdy użytkownik się zaloguje, plik cookie może zostać trwale zapisany na komputerze użytkownika, aby następnym razem użytkownik włącza komputer, aby uzyskać dostęp do strony, byłby automatycznie logowany, zamiast zawsze otrzymywać monit o zalogowanie i ewentualnie ostrzeżenie bezpieczeństwa.
Innym pomysłem, który może ominąć wiadomość, ale który byłby bardziej pracochłonny zarówno dla gościa, jak i serwera, jest przesłanie przez gościa specjalnego pliku z zaszyfrowaną odpowiednią konfiguracją. Na przykład na ekranie logowania zamiast poprosić użytkownika o wpisanie nazwy użytkownika i hasła w dwóch polach tekstowych, poproś użytkownika o przesłanie małego pliku zawierającego zaszyfrowaną nazwę użytkownika i hasło (na przykład kompresowanie nazwy użytkownika i hasła jako pliku zip plik o określonym poziomie kompresji), serwer może odszyfrować plik w celu wyodrębnienia nazwy użytkownika i hasła. Potencjalny haker zobaczy bełkot podczas przesyłania, gdy użytkownik wyśle plik na serwer. Jedyną niewielką zaletą tego pomysłu jest nieco większa szybkość połączenia, ponieważ przetwarzanie połączenia SSL nie odbywa się w HTTP.
źródło
Nie.
Jakikolwiek hack, którego spróbujesz (np. Próba szyfrowania za pomocą javascript), jest bardzo mało prawdopodobne, aby był blisko bezpieczeństwa.
SSL nie musi być „drogi”, wielu dostawców hostingu oferuje go za darmo. Nawet rzeczy takie jak cloudflare oferują bezpłatny SSL i utrzymują aktualny hosting.
źródło
Darmowe, szybkie rozwiązanie to Let's Encrypt. Link Posiadają dokumentację dla prawie każdego systemu operacyjnego serwera. Używamy go w naszej pracy, a nasi dostawcy W2P używają go do zabezpieczenia każdego z naszych witryn sklepowych.
źródło