Как да защитите онлайн банкирането си, избягвайте прости грешки

В момента имам проблем с HTTPS на моя уебсайт. Вече конфигурирах в моя администратор на WordPress да принуждавам SSL и да показвам HTTPS на връзката на уебсайта ми.

Когато се опитах да вляза https://wwww.example.com в търсачката на браузъра ми излиза зеления катинар.

Но когато използвам example.com зеленият катинар не се показва.

Това е образът на моя проблем:

Дали потребителят влиза example.com или https://www.example.com трябва да се покаже зеления катинар.

  • Ще трябва да инсталирате и сертификат за example.com.
  • Дали и двата URL адреса са разрешени като начална страница? С други думи, не-www пренасочва ли към www версия?
  • Вече инсталирах сертификата и в допълнение показаната по-горе снимка е същият сайт, но когато се опитах да търся в сайта с www, https се показва, но когато опитах без www. зеленият катинар не се показва. мисля, че трябва да конфигурирам без www. но как мога да направя това?

Вече конфигурирах в моя администратор на WordPress да принуждавам SSL

Е, изглежда, WordPress не задържа края на сделката; SSL не се принуждава.

АКТУАЛИЗАЦИЯ: Всъщност, ако това е настройката, мисля, че имате предвид: „Винаги използвайте HTTPS, докато сте в администраторския панел.“ - тогава това се отнася само за "администраторския панел", а не за основния ви уебсайт.

Показва се втората ви екранна снимка http://example.com (не HTTPS) - затова не виждате зелено катинар! Ще видите същото, ако изрично пишете http://example.com. Браузърът просто не показва протокола, когато иска HTTP (порт 80).

Трябва да издадете пренасочване от HTTP към HTTPS (което очаквате WordPress да направи за вас). (Трябва също да пренасочвате не-www към www или обратно, в зависимост от това, което е канонично.)

По-ефективно е обаче да направите това в .htaccess така или иначе, вместо да оставя WordPress (т.е. PHP) да прави това.

Опитайте следното в горната част на вашия .htaccess файл (преди предния контролер на WordPress):

RewriteCond %{HTTPS} !on RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L] 

Това предполага, че SSL сертификатът е инсталиран на вашия сървър и не използвате SSL преден край прокси.


АКТУАЛИЗАЦИЯ: За да комбинирате това с пренасочване без www към www (както е споменато по-горе), модифицирайте горното, за да прочетете:

RewriteCond %{HTTPS} !on [OR] RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L] 

Това предполага, че нямате други поддомейни, освен www. И посочва ... за всички заявки, които не са HTTPS или където хостът не започва "www." след това пренасочете към каноничния протокол + домейн.

  • Благодаря за информативен отговор. Това ми помага откъде да започна, ако имате допълнителни връзки или урок за този вид проблем. Също така забелязах, че другият не е https, поради което заключването на greenpad не се показва.
  • Ако се позовавате на настройката „принудително SSL“ в администраторския панел, за която мисля, че имате предвид, това се отнася само за администраторския панел, а не за останалата част от вашия сайт - така че това обяснява защо WordPress не прави това вместо вас.Кодът по-горе е стандартно HTTP към HTTPS пренасочване, което всеки сайт би трябвало да приложи при преминаване към HTTPS (това не е специфично за WP) - съжалявам, нямам конкретна препратка, но всъщност няма толкова много към него (при условие, че вашият сайт вече работи добре на HTTPS). Ако искате, можете също да внедрите HSTS, както предлага @Avineshwar - но това е "екстра".

Ако приемем, че сертификатът вече е на място, това, което търсите, се нарича HSTS. Това е, което искате за вашия WordPress. Сега горната публикация показва един начин да го направите.

Можете също да го направите, като изпратите подходящи заглавки, така че браузърът да разбере, че всякакъв вид заявка трябва да се обслужва само чрез https.

Това би било да отидете на страницата functions.php на вашата тема и да добавите нещо подобно:

add_action( 'send_headers', 'strict_transport_security' ); /** * This enables the HTTP Strict Transport Security (HSTS) header. * * */ function strict_transport_security() { header( 'Strict-Transport-Security: max-age=86400' ); } 

Като по-горе, това е кратка възраст, но можете да го настроите съответно.

Обърнете се към този Cheat Sheet на OWASP HSTS

  • Имайте предвид, че внедряването на HSTS е "допълнителна", не е алтернатива на прилагането на пренасочване (което споменавате е „един от начините да го направите“). Все пак трябва да издадете пренасочване, когато внедрявате HSTS. Също така имайте предвид, че HSTS прави HTTPS по-"постоянен" - няма връщане към HTTP в max-age период - така че HSTS трябва да се прилага като краен етап само когато всичко е тествано.

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?