注:確実に戻って、ユーザを識別するための唯一の方法は、認証を経ています。クッキーを使用すると、実際には同じブラウザから接続を返すかどうかを確認しています。
ユーザーがCookieを消去した場合、ブラウザを再インストールする場合、別のブラウザを使用する場合、または別のコンピュータを使用した場合、Webアプリケーションはそれらを覚えていない可能性があります。それで、ここでは認証なしで返送するユーザーを識別する方法の1つがあります。
HttpSessionは、返送するユーザーを検出する方法の1つです。ユーザーがWebアプリケーション上でアクティビティを持つ場合、そのユーザーを一意に識別するキーを格納できます。これによりブラウザにクッキーが配置されます。その結果、Webアプリケーションはセッションに戻ったときにそのデータを取得できます。 HttpSessionのjavadocから
:
は、複数のページ要求間でユーザーを識別したり、Webサイトを訪問し、そのユーザーに関する情報を保存するための方法を提供します。
レコードユーザアクティビティ:
ArrayList activity = new ArrayList<String>();
activity = (ArrayList<String>) request.getSession().getAttribute("activity");
if(activity == null)
activity = new ArrayList<String();
activity.add("Searched for parts for Ford Thunderbird");
request.getSession().setAttribute("activity", activity);
を表示し、ユーザアクティビティ:
ArrayList activity = new ArrayList<String>();
activity = (ArrayList<String>) request.getSession().getAttribute("activity");
if(activity == null) {
log.info("No activity to display. New user");
} else {
for(String a : activity) {
log.info(a);
}
}
はweb.xmlにタイムアウトを設定する:
<!-- Define the default session timeout for your application,
in minutes. From a servlet or JSP page, you can modify
the timeout for a particular session dynamically by using
HttpSession.getMaxInactiveInterval(). -->
<session-config>
<session-timeout>30</session-timeout> <!-- 30 minutes -->
</session-config>
クッキー?それらはマシン固有のものです。 – DOK
@ Jmort253、チップをありがとう。私はそれが私にボットからの要求を認識するのに役立つかどうか疑問に思っていますか? – jjd
申し訳ありませんが、@DOK、私はUIの使用を取得していないと間違った場所を見てみましょう。以前のコメントはあなたに向けられていました。 – jjd