0

私のサイトには、ユーザーが日付差の計算、数学計算などのタスクを実行できるようにする簡単なスクリプトがいくつかあります。ユーザー入力をサーバーに投稿するいくつかの jquery/ajax を除いて、Web サイトは約 95% の純粋な html (生成された php ではありません) です。 -側で計算を行います。ajax コードは次のとおりです。

$.ajax({
    type: "POST",
    url: "script/calc.php",
    data: { userval:val},
    success: function(response){
    //display response
    }
});

ユーザー入力値が数値である/数値である必要がある場合、phpファイル「calc.php」の投稿変数の前に(int)を追加しますが、セキュリティの観点から問題が生じるとは思いません。

私はhttp_refererをフィルタリングすることを考えているので、phpファイルは私のサイトからのリクエストのみを取得します(悪用​​を避けるため)が、http_refererのみをカウントすることは究極のトリックではないことを読みました. . 一方、デフォルトでは ajax が別のドメインへの投稿を許可しないことは知っていますが、そのためのハックもあります。

私は筋金入りのセキュリティ担当者ではありません。基本的なことは知っています。何か提案できることはありますか? この場合、何が問題になる可能性がありますか。私はデータベースを使用していないことに注意してください.phpファイルだけがいくつかの計算を行い、それ以上のものはありません(ディレクトリへのアクセス、ファイルのアップロードなど)。

サーバーの悪用や xss 攻撃などを防ぐために、他に真剣に検討すべきことはありますか?

編集:したがって、基本的に calc.php はこのような構造を持っています(非常に単純です)

//整数を期待 $userval = (int) $_POST['userval'];

$total_sum = ($userval*15) * (150* ($userval-2));

echo $total_sum; unset($total_sum);

//終わり//

4

1 に答える 1