$_POST セキュリティ、クロスドメイン送信の処理方法

WBOY
リリース: 2016-06-13 12:55:33
オリジナル
1029 人が閲覧しました

$_POST は安全ですが、クロスドメイン送信を回避するにはどうすればよいですか?
私は、送信されてデータベースにリンクされている AJAX ページをいくつか持っています。最近、誰かが fsockopen またはcurl を使用して POST フォームをシミュレートし、データベース情報を盗んだのではないかと思いました。

$_POST のクロスドメイン送信を回避するにはどうすればよいですか?

Apacheでも設定できるのでしょうか?それとも $_SERVER などを使用しますか?


------解決策------
1. データアクセス権限を設定できる場合は、たとえば、ログインしたメンバーのみがそれを表示できるため、他の人がそれをクロールすることが困難になります。しかし、この障害はいつでも克服できます。
2. アクセスログを分析し、不審なIPアクセスをサーバーレベルで制限します。
3. 各 IP の操作密度を記録します。頻度が高い場合は、時々確認コードの入力を求められることがあります。
-----解決策---------- -------- ---
トークンまたは確認コードが問題を解決します...
または、前述のようにグローバル変数を生成して
------解決策-----------------------
を検証しますモデレータは、トークン検証を生成して、頻繁に送信される IP の検証コードを設定するだけだと言いました。
------解決策----------------------
セッションを使用してトークンを生成し、送信後にセッションを検証します合法な場合は、セッションをすぐにログアウトし、毎回新しいトークンが存在することを確認してください。
------解決策------ -- ---
不親切な確認コード以外に方法はありません
ただし、より単純な検証コードも機械で認識できます

あなたは AJAX ページであるため、確認コードは使用できません
リクエストデータ部分のjsコードも動的に生成されていると考えることができます
このように、泥棒が動的に js を解析できない場合、データを取得することはできません
-----解決策----- ----
引用:
私はデータベースに送信されリンクされている AJAX ページをいくつか持っています。最近、誰かが fsockopen またはcurl を使用してシミュレートしたのではないかと思いました。 POST フォームを使用してデータベース情報を盗みます。

$_POST のクロスドメイン送信を回避するにはどうすればよいですか?

Apacheでも設定できるのでしょうか?それとも $_SERVER などを使用しますか?


検証とハッシュを使用します。これらのハッシュ値は時間にバインドされており、
(1) 設定時間内は無効
(2) 日時によって暗号化方式が変わります



-----解決策--------------------------------
長期的なデータ収集者として、上記のすべての方法を使用できることをお伝えしておきます

しかし、あなたより早く PHP を学び、市場運営についてある程度の知識を持っている者として、私からあなたへの提案は次のとおりです (オープンデータの内容に基づいて):
1. 最も重要な点: 誰を警戒しているのかを理解する必要があります。私のような人を警戒するのは無駄であり、必要ありません (最後を参照)。重要なのは、自社の競合他社を警戒することです。
2. ポイント 1 に基づいて、完全なデータベース防御を行う必要はありません。つまり、重要なデータを操作するだけで済みます。 キーデータとは何ですか?ショッピング モールにとって、価格は重要なデータです。なぜタオバオは予防措置を講じないのでしょうか。タオバオは物を売ってないから… 終了
3. あらゆる防止作業は必然的にユーザー エクスペリエンスの低下につながります。顧客を失うことと、少数の泥棒を防ぐことの利点とを比較する必要があります。
4. 本当に予防策を講じたい場合—
1) 機械から保護することと人から保護しないことの違いは何ですか?前者はコードを読み取り、後者はテキストを(肉眼で)読み取るので、ここから始めることが最も重要です
2) 上記のポイント 2 に基づいて、マーケティング部門と協力して適切な重要データを見つけることが最善です
3) データを取得するには、クローラの開発、クローリングのプロセス、データの再編成の 3 つのステップがあります。上記 3 で述べたように、クローリングの難易度を高めることは不要であり、不可能です。 「時間」は大騒ぎするので、データを再構成するのは困難であることに焦点を当てるのが最善です。これは、あなたの能力に依存します。
4) 大企業は訴訟などの企業レベルで泥棒に対処する必要があり、これにより企業のイメージが向上します。中小企業は一般にサービス目標が比較的固定されており、たとえば「信頼」メカニズムを採用する方がよい場合もあります。データは特定の担当者のみに公開されます。

一般に、技術部門ではなく、ビジネス モデルと組み合わせる必要があります。

補足 3) 上記のプラン例:
A: ナオ・ナオが言ったように、何かが js で「綴られている」場合、それを直接書いても機能しませんが、それでも完全な結果になります。これは、その方法を知っている人がまだ非常に少ないためです。 JS エンジンを呼び出して結果を計算します
B: 私は以前他の人に対してこのようなことをしたことがあります。4 桁の N (特定の数 4、ランダム) 個の画像で表示されます。コードから見ると、これらの N 個の画像のコードはまったく同じです。も近いですが、必要な数値を視覚的に示すのは 4 枚だけです (Web ページの背景色と組み合わせて)。この方法は、当時は長い間有効でしたが、OCR プログラムがどんどん単純になるにつれて、この方法も使われなくなりました。こちらも失敗しましたが、原則はまだ役に立ちます

中国、日本、韓国の郵便番号
やお気に入りの写真など、自分にとって有益で興味深いものだけを目的にキャプチャしています。お金のために販売しているわけではありません。他の人に広めたり、他の人のために取得したりしないでください。データはまったく面白くありません (役に立ちません)。もしそれを見つけたら、深刻な結果が生じる可能性があります。私の人生の最後の数年間
最後に、今私が対処できないのは、絵の滝の壁です
-----解決策----------- ---- ----
追記
Cookie、セッション、トークンを使用しても、防止効果は得られません
チェックされているのは、クライアントから返されたデータがサーバーによって事前に設定されたデータと一致しているかどうかであるためです

そうですね、収集アクションを 2 つのステップに分割する必要があるだけです:
1. ajax ページに入ると、Web サイトから検証用の関連データが送信されます。 ajax 送信も検証する必要があるため
2. ajax リクエストと同じ検証データを含むリクエストをターゲット ページに送信します

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート