web-dev-qa-db-ja.com

https Wordpressプラグインの強制ロード

私のプラグインのいくつかがhttpsの代わりにhttpでロードしているので、ブラウザの機能に影響を及ぼしている複合セキュリティ問題を抱えている。私はマルチサイトセットアップの下で走っています。

ありがとうございます。

これは私が私のhtaccessに持っているものです

# BEGIN WordPress
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI} [R,L]

RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress
1
plumwd

たぶん、あなたが言っているのはあなたのプラグインによってレンダリングされたアセット(画像、JavaScriptなど)が明示的にhttp経由で提供されているということです。 (誤解した場合は訂正してください)。

これらの問題は個々のプラグインのそれぞれで修正する必要があり、修正はアセットがどのように参照されるかに基づいて変わります。資産を参照する方法はたくさんあり、プロトコルを指定する方法はたくさんあります。 (一般に、アセットへのリンクを生成するためにsite_url()のようなものを使用すると、自動的に正しいプロトコルが割り当てられます。しかし、このようなことをするWordPress関数はたくさんあります。)問題のあるプラグインと外観。

悪いニュースは、htaccessを使って書き換えてもこの問題が解決しないことです。実際にすべてのファイルを要求する前に、ブラウザはこの「混合コンテンツ」の決定をします。そしてリクエストは最終的にhttpsに書き換えられるかもしれませんが、あなたのブラウザは気付かないでしょう。ブラウザはページマークアップでアセットがどのように参照されるのかを気にするだけで、書き換え規則はマークアップをまったく変更しません - サーバーが特定のリクエストに反応する方法のみ。

あなたは私を感じますか?

2
MathSmath