2

私は商用ウェブサイトを運営しており、Cookie を使用しています。私はすべてのユーザー トラフィックをログに記録しており、多くの場合、ユーザーのブラウザーから送信された、私が設定したものではない Cookie を確認できます。規則では、ブラウザーは別のドメインによって設定された Cookie を送信できないと規定されています。おそらくJavaScriptはCookieを設定できますが、私のサーバーは私のPHPソフトウェアによって設定されたもの以外のCookieを探しません.

私はよくサイバー攻撃を受けるので、GET、POST、または COOKIE データを含む要求されたページを中止します。使用しない変数と、使用しない文字を含むデータがあり、変数の文字列の長さが制限を超えている場合設定しました。

この Cookie の問題により、一部のクライアントがサイトを使用できないのではないかと心配しています。ユーザー エージェント情報を見ると、サイトが要求されたページを中止する主な原因はスパイダーであることがわかります。

誰かがこの動作を理解し、おそらくサーバーに不明な Cookie を送信するポイントを知っていますか?

4

1 に答える 1

0

これらが発生している可能性のある場所がいくつかあります。

ご想像のとおり、Cookie は JavaScript を使用してクライアント側で設定できます。また、ドメイン全体とそのすべてのサブドメインに設定することもできます。たとえば、yoursite.example.comCookie を設定して、example.com の任意の.example.comサブドメインに送信することができます。

どちらの場合でも、サーバーが Cookie のターゲットではない可能性があります。JavaScript が ( を使用してdocument.cookie) Cookie を設定できるように、これらの Cookie から読み取ることもできます。これは、ブラウジング セッションのページ間でデータを永続化する最も広くサポートされている方法の 1 つです。データがサーバーに送信されるという事実は、意図しない副作用である可能性があります。これは、分析スクリプトや広告ネットワークの追跡などでよく見られます。

通常、これらの Cookie について心配する必要はありません。ユーザー入力を常に検証している限り、問題はありません。

JavaScript から設定された Cookie が Cookie を上書きすることが心配な場合は、Cookie を HTTP 専用として設定できます。これを行う方法については、setcookieのPHP ドキュメントを参照してください。

于 2012-10-25T15:28:50.940 に答える