2017-02-19 23 views
1

、私はそれが次のように私は私のウェブのいくつかのボタンをクリックすると、JS/jQueryを介して、私のサーブレットの一部を呼び出すために使用:JSを使用したサーブレットの呼び出しは安全ですか?

btnComment.addEventListener("click", sending); 
function sending() { 
    btnComment.disabled = true; 
    $.post('/Project/AddCommentServlet', { 
     id_pic: idPic.value, 
     text: textComment.value 
    }); 
} 

だから私は2つのパラメータを送信して、POSTを使用して「AddCommentServlet」サーブレットを呼び出します。

私はそのサーブレットへのアクセスを無効にしましたが(それが起こった場合はページにリダイレクトしてエラーが発生します)、これは安全な方法ですか?それは別の方法で行うことができますか?

この人がサーブレットの名前と使用するパラメータを知っているならば、putsがボットなどを介してサーブレットにアクセスできるようにしたくありません。

ありがとうございます!

+1

JSからサーブレットを呼び出してフォームを使ってデータを送信することに違いはありません。誰でもあなたのページが指し示すサーブレットを見ることができ、パラメータが渡されるので、サーブレットを保護して誰かがあなたのアプリケーションを壊すのを避けるために必要なチェック(つまり、SQLインジェクションを防ぐ、アップロードされたファイルの名前をOS-safeおよびアプリケーションセーフなファイル名に変更するなど) – BackSlash

+1

OAuth2プロトコルに従ってエンドポイントを保護することができますが、それは[春と春のセキュリティ](https://projects.spring.io/spring-security/)のようなフレームワークを使いたいと思うことです。他のオプションは、[セッション](http://stackoverflow.com/questions/3804209/what-are-sessions-how-do-they-work)とcaptchaを使用することです。あなたはここでかなり幸運を祈っています。 BTW:あなたの質問に「答えて」、JSを使ってサーブレットを呼び出すことは安全です(実際に期待されます)。エンドポイントは安全ですが、それらを確保するプロセスは説明したいものではありません。 –

+0

ありがとうございます。あなたの言葉は私にそれをより良く理解させてくれます!乾杯! – Ommadawn

答えて

0

セキュア公開サーブレットには方法がありません。

丁寧なボットが気になる場合は、robot.txtを使用できます。

あなたが敵対的なボットに懸念しているなら、私は現在、何らかの再チャプターを置くことしかできません。

関連する問題