使用の違いは何ですか:
$.ajax({
type: 'POST',
url: Drupal.settings.basePath + 'module/get/' + node,
dataType: 'json',
data: { 'ajax' : true }
});
対:
$.ajax({
type: 'POST',
url: Drupal.settings.basePath + 'module/get',
dataType: 'json',
data: { 'ajax' : true, 'node' : node }
});
最初のケースでは、ノード変数にコールバック関数のパラメーターとしてアクセスし、2 番目のケースでは $_POST['node'] でアクセスしますよね? 2 番目の方法が常に優れているとは限りませんが、多くの人が最初の方法を行っているのを目にします。2 番目の方法もそれほど安全であるとは言えません。まだフォーム トークンを調べていますが、最初にこの基本的なビットを理解しようとしています。
ケース 1 についても疑問に思います。この ajax がボタンによってトリガーされると仮定すると、人が URL mysite/module/get/20 に直接入力してアクティブ化するのをどのように停止しますか? $_POST['ajax'] == true をチェックするだけでそれを行うことができますか? それともまだセキュリティホールがあるのでしょうか?