0

次のような状況があります: IP X のユーザーが、IP Y の Web サイトにアクセスします。Web サイトには、AdServer Z (< script src=Z/script.js />) から情報を取得して広告を表示する外部 < script > タグがあります。 .

ここで、X が Z/script.js に直接アクセスするのをブロックしたいのですが、ユーザーが Web サイトにアクセスすると、広告が表示されます。

私はこれを行う.htaccessで試しました:

Order allow,deny
Allow from Y
Deny from all

しかし、広告が表示されず、ファイルに直接アクセスできません。

しかし、私がこれをしたとき:

Order allow,deny
Allow from X
Deny from all

ウェブサイトに広告が表示され、ファイルに直接アクセスできます。

Z 上の Apache は IP として Y を受け取ると思っていましたが、どうやら X を受け取っているようです。これはなぜですか? また、ユーザーから Z を保護するにはどうすればよいですか。ただし、私の Web サイトはファイルをリンクできます。

4

1 に答える 1

0

プロキシではなく、広告サーバーに直接リンクしています。つまり、誰かが Web サーバーからページをロードし、ブラウザがレンダリングすると、ブラウザは<script src=ADSERVER/script.js>ADSERVER にリクエストを直接送信します。URL を変更しない限り、ブラウザーがこのリソースをロードしないことについては何もできません。

サーバー上の URL を指すように URL を変更し、プロキシすることができます。たとえば、URL を からhttp://ADSERVER/script.jsに変更したとします/adserver/script.js

ProxyPass でこれを行うことができます (仮想ホストまたはサーバー構成のみ):

    ProxyPass /adserver/script.js http://ADSERVER/script.js

または mod_rewrite (htaccess、サーバーまたは vhost 構成で、ただし mod_proxy をロードする必要があります):

    RewriteEngine On
    RewriteRule ^/?adserver/script.js http://ADSERVER/script.js [L,P]

次に、広告サーバーで、Y (Web サーバー) からのアクセスのみを許可します。

于 2012-12-14T16:39:28.123 に答える