2012-03-05 28 views
1

mvcでjsonハイジャックを防ぐ方法を教えてください。mvcでjsonハイジャックを防ぐ方法

[PreventHijack] 
public JsonResult Check(int id) 
{ 
    return Json(id, JsonRequestBehavior.AllowGet); 
} 

私は誰もがアドレスバーでこの化するJsonResultを閲覧したくない

$.ajax({ 
    url: "/Controller/Check?id=1", 
    type: "post", 
    success: function(data) { 
    } 
}) 

ジャバスクリプト。 ここで偽偽造防止剤を使用することはできますか?

+0

このようなボックスがあれば、わかりません。これを参照してくださいhttp://haacked.com/archive/2009/06/25/json-hijacking.aspx – gideon

答えて

1

ユーザーは、のURLを明示的に参照できるようにしています。あなたがそれを取り除くと、.NETはそのURLに当たるとエラーになります:​​

+0

thanks swaver2112、実際のjsonresultメソッドの機能は、ユーザーがチェックボックスをクリックしたときにデータベースを更新することです。私は誰もアドレスバーでそのメソッドをブラウズしたくない。私はこれを達成することができる他の方法はありますか? – valrecx

+0

はい、これはそのような嫌悪を防ぐためのセキュリティ機能です。あなたがallowGetを取り出してフォームのポストの部分を(あなたが持っているように)作るなら、あなたは大丈夫でしょう。 – sweaver2112

関連する問題