2016-11-01 7 views
0

jQuery AJAXに関するセキュリティ情報について混乱しています。私はCMS用のADD-ONを開発中です。 PHPファイルEXECUTE.PHPのjQuery AJAX呼び出しがあります。 今、私は質問私のADD-ONを販売したいとここにいるでしょう:jQuery AJAX - 制限、セキュリティ、クロスドメインなし

  1. を私のADD-ONは、2人の顧客A)John (nice guy), B)Bruce (the hacker)を購入します。彼らはどちらも私のコーディングの構造、ファイルの場所、ファイルの内容を知っています - すべて。 BruceがAJAX呼び出しをJohnのサーバーのEXECUTE.PHPファイルに変更するとどうなりますか? Bruce氏は、CMSが普段はWWW.DOMAIN-NAME.COM/CMSにインストールされていることを知っているので、Johnのサーバー上でEXECUTE.PHPの場所を疑うことができます。これは可能ですか? EXECUTE.PHPファイルはDB内のエントリを削除することができるため、ブルースは"DELETE FROM ... WHERE ID = [1, 2, 3 ..]"のようなループですべてのDBエントリを削除できますか?クロスドメインアクセスで可能ですか(Johnには独自のドメインがあり、Bruceには独自のドメインがあります)。私はそれを防ぐために何ができますか?他のリスクはありますか?
  2. JohnのサーバーでBruceがEXECUTE.PHPを呼び出し、EXECUTE.PHPファイルが$_SERVER['REQUEST_URI']で返されるアドレス - 返されるアドレス。それはAJAXの呼び出しがあるブルースのジョンのアドレスまたはアドレスになりますか?

ご協力いただきありがとうございます。

+0

これは単なる議論のように答えることができない質問として閉じられる可能性が高いと思います。 SOはコード固有の質問の方が多くあります。 – Utkanos

+0

明確に理解できるようにコードを追加する – Firefog

答えて

0

まず、JQueryはクライアント側です。誰でもアクセスできるので、安全にすることはできません。すべてのロジック、メソッド、コーディングにアクセスできます。

クロスドメイン方法論では、これを処理する方法が2つあります。 1. JSONP 2. CORS

これを見て、適切なものを公開しないでください。

0

最初に、あなたのexecute.php-ファイルは、現在アクセスしているドメインからのアクセスがあるかどうかをチェックする必要があります。次に、管理者権限を持つログインユーザーからアクセスが行われているかどうかを確認してくださいデータベースを変更する必要があるか、少なくとも必要と思われる)、使用されているユーザー名がログインしている(ユーザーが実際にログインしている)ユーザー名であることを前提としています。それはあなたが言及している問題のほとんどを防ぐでしょう。 どのような種類のデータ操作も操作できますが、プラグインの管理インターフェースでアクセスできるユーザーログインを選択することで、可能な限り安全にすることをお勧めします。こうすることで、どのユーザーに変更を加えるためのアクセス権があるかを特定することができます。

REQUEST_URIは偽造できますが、標準ではhackerのIP /ドメインが表示されます。

関連する問題