1

ユーザーがブラウザから直接アクセスすると 404 が表示されるように、スタイルシートを非表示にしようとしていますが、私のサイトでは正しく表示されます。これは可能ですか?私は現在これを試しています:

RewriteEngine On
Options +FollowSymLinks
RewriteRule ^/?wp-content/themes/mysteam/style.css$ /wp-content/themes/steam/stylesheet.css [L,NC]

これを達成する方法はありますか?

ありがとう。

4

1 に答える 1

1

少なくとも 1 ページで使用する場合、css ファイルをクライアントから安全に隠すことはできません。

設定されていない場合は、リファラー ヘッダーを使用して 404 ページにリダイレクトできますが、次のようになります。

  • このヘッダーはなりすましの可能性があります
  • 場合によっては、とにかく設定されます
  • 開発者ツールを使用すると、そこでリクエストを表示するときにまだ表示されます

すべてのリクエストに対して一意の ID を生成し、その ID が現在そのページの表示を許可されている ID と一致する場合にのみ css ファイルを表示する非常にスマートなシステムをセットアップできますが、次のようになります。

  • 開発者ツールを使用すると、そこでリクエストを表示するときにまだ表示されます

スタイルシートは、テキストにスタイルを適用するためにブラウザーから要求されるため、ファイルの内容 (またはファイルが生成する出力) を表示したり、より簡単に表示することで、そのブラウザーで要求を偽造することが常に可能です。ブラウザが必要とするときの出力。


使用している構文は無効です。詳細については、ドキュメントを参照してください。パターンを a/で開始することはできず、クエリ文字列は含まれません。リライタルールは次のようになります。

RewriteCond %{QUERY_STRING} ^wp-content/themes/mysteam/style\.css$
RewriteRule ^$ /wp-content/themes/steam/stylesheet.css? [L,NC]

最初の行はクエリ文字列と一致します。?2 行目は、元のクエリ文字列をクリアするために、書き換えられた部分に末尾があります。

于 2013-07-25T12:59:27.073 に答える