javacookie加密
『壹』 請問java後端通常如何處理cookie
親,Cookie可以將用戶信息及一些其他信息保存到本地(例如瀏覽器),能夠保證與session的跟蹤對接以及辨別用戶身份。
親如果學ava後端通常如何處理cookie的話可以到雲南新華電腦學院來看看,希望可以幫到親
『貳』 怎麼在java中使用cookie
public void addSessionCookie(String name, String val, HttpServletResponse response, String path) {
Cookie cookie = new Cookie(name, val);
cookie.setPath(path);
response.addCookie(cookie);
}
private void addCookie(String name, String val, HttpServletResponse response) {
Cookie cookie = new Cookie(name, val);
cookie.setMaxAge(COOKIE_MAXAGE);//失效時間
cookie.setPath("/");
response.addCookie(cookie);
}
/**
* 查找cookie(未區分版本)
* @param name
* @param req
* @return
*/
private Cookie findCookie(String name, HttpServletRequest req) {
if(req.getCookies()!=null) {
for (Cookie cookie : req.getCookies()) {
if(cookie.getName().equals(name)) {
return cookie;
}
}
}
return null;
}
『叄』 javaweb記住密碼cookie用md5加密
資料庫不錯明文密碼,存的也是加密後的,兩個加密後的對比,一樣就通過了啊,不過密碼建議總更安全的加密方式
『肆』 怎麼在java中使用cookie
1、Cookie的來歷與作用
Cookie是WEB伺服器通過瀏覽器保存在WWW用戶端硬碟上的一個文本文件,這個文本文件中包含了文本信息。
文本信息的內容以「名/值」對(key/value)的形式進行存儲。
可以讓WEB開發者通過程序讀寫這個文本文件。
XP中保存Cookie的目錄是「C://Documents
and Settings\用戶名\Cookies」
Cookie的作用
解決瀏覽器用戶與Web伺服器之間無狀態通信。
2Cookie編程
//創建對象
Date
date = new Date() ;
Cookie
c = new Cookie("lastVisited",date.toString()) ;
//設定有效時間
以s為單位
c.setMaxAge(60)
;
//設置Cookie路徑和域名
c.setPath("/")
;
c.setDomain(".zl.org")
; //域名要以「.」開頭
//發送Cookie文件
response.addCookie(c)
;
//讀取Cookie
Cookie
cookies[] = request.getCookies() ;
Cookie
c1 = null ;
if(cookies
!= null){
for(int
i=0;i
c1
= cookies[i] ;
out.println("cookie
name : " + c1.getName() + " ") ;
out.println("cookie
value :" + c1.getValue() + "
");
}
}
//修改Cookie
Cookie
cookies[] = request.getCookies() ;
Cookie
c = null ;
for(int
i=0;i
c
= cookies[i] ;
if(c.getName().equals("lastVisited")){
c.setValue("2010-04-3-28")
;
c.setMaxAge(60*60*12)
;
response.addCookie(c)
; //修改後,要更新到瀏覽器中
}
}
//刪除Cookie,(將Cookie的有效時間設為0)
Cookie
cookies[] = request.getCookies() ;
Cookie
c = null ;
for(int
i=0;i
c
= cookies[i] ;
if(c.getName().equals("lastVisited")){
c.setMaxAge(0);
response.addCookie(c)
;
}
}
4、使用Cookie的注意事項
·Cookie的大小和數量是有限制的。
·Cookie在個人硬碟上所保存的文本信息是以明文格式進行保存的,沒有任何的加密措施。
·瀏覽器用戶可以設定不使用Cookie。
5、實例:Servlet中的Cookie編程
cookieInput.html頁面
SetCookie.java
GetCookie.java
cookieInput.html頁面中的參數提交到SetCookie.java中,由SetCookie.java保存在瀏覽器的Cookie中,在SerCookie.java中鏈接到GetCookie.java從而讀取剛剛保存的Cookie。
SetCookie.java
:
public
void doPost(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter
out = response.getWriter();
String
username = request.getParameter("username") ;
//保存Cookie
if(username
!=""){
Cookie
c1 = new Cookie("username",username) ;
SimpleDateFormat
sdf = new SimpleDateFormat("yyyy-MM-dd") ;
Cookie
c2 = new Cookie("lastVisited",sdf.format(new java.util.Date())) ;
c1.setMaxAge(60*60*60*12*30)
;
c2.setMaxAge(60*60*60*12*30)
;
response.addCookie(c1)
;
response.addCookie(c2)
;
out.println("Cookie保存成功!");
out.println("
")
;
out.println("讀取Cookie") ;
}else{
response.sendRedirect("../cookieInput.html")
;
}
out.flush();
out.close();
}
GetCookie.java:
public
void doPost(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter
out = response.getWriter();
out.println("
");
out.println("");
out.println("
");
out.println("
");
//讀取Cookie
Cookie
cookies[] = request.getCookies() ;
Cookie
c = null ;
if(cookies
!= null){
for(int
i=0;i
c
= cookies[i] ;
if(c.getName().equals("username")){
out.println("用戶名:
"+c.getValue());
out.println("
");
}
if(c.getName().equals("lastVisited")){
out.println("上次登錄的時間:
"+c.getValue());
}
}
}else{
out.println("No
cookie !");
}
out.println("
");
out.println("
");
out.flush();
out.close();
}
『伍』 java cookie
1.設置Cookie
Cookie cookie = new Cookie("key", "value");
cookie.setMaxAge(60); //設置60秒生存期,如果設置為負值的話,則為瀏覽器進程Cookie(內存中保存),關閉瀏覽器就失效。
cookie.setPath("/test/test2"); //設置Cookie路徑,不設置的話為當前路徑(對於Servlet來說為request.getContextPath() + web.xml里配置的該Servlet的url-pattern路徑部分)
response.addCookie(cookie);
2.讀取Cookie
該方法可以讀取當前路徑以及「直接父路徑」的所有Cookie對象,如果沒有任何Cookie的話,則返回null
Cookie[] cookies = request.getCookies();
3.刪除Cookie
Cookie cookie = new Cookie("key", null);
cookie.setMaxAge(0); //設置為0為立即刪除該Cookie
cookie.setPath("/test/test2"); //刪除指定路徑上的Cookie,不設置該路徑,默認為刪除當前路徑Cookie
response.addCookie(cookie);
4.修改Cookie
首先讀取cookie
Cookie[] cks = request.getCookies();
for (int i = 0; i < cks.length; i ++){
Cookie cookie = cks[i];
if (cookie.getName().equalsIgnoreCase("cookiename")){
cookie.setValue("newvalue"); 設置新的值
response.addCookie(cookie);
}
}
5.注意:假設路徑結構如下
/
/test
/test/test2
/test345
/test555/test666
a.相同鍵名的Cookie(值可以相同或不同)可以存在於不同的路徑下。
b. 刪除時,如果當前路徑下沒有鍵為"key"的Cookie,則查詢全部父路徑,檢索到就執行刪除操作(每次只能刪除一個與自己最近的父路徑Cookie)
FF.必須指定與設定cookie時使用的相同路徑來刪除改cookie,而且cookie的鍵名不論大寫、小寫或大小混合都要指定路徑。
IE.鍵名小寫時,如果當前路徑為/test/test2,如果找不到再向上查詢/test、/test555、/test345,如果還找不到就查詢/ 。(/test555/test666不查詢)
鍵名大小寫混合或大寫時,不指定路徑則默認刪除當前路徑,並且不向上查詢。
c.讀取Cookie時只能讀取直接父路徑的Cookie。
如果當前路徑為/test/test2,要讀取的鍵為"key"。當前路徑讀取後,還要讀取/test,/test讀取後,還要讀取/
d.在做Java的web項目時,由於一般的Web伺服器(如Tomcat或Jetty)都用Context來管理不同的Web Application,這樣對於每個Context有不同的Path,
在一個Server中有多個Web Application時要特別小心,不要設置Path為/的Cookie,容易誤操作。(當然前提是域名相同)
『陸』 java 怎麼設置cookie
java設置cookie是通過 Servlet 設置的。
通過 Servlet 設置 Cookies 包括三個步驟:
(1) 創建一個 Cookie 對象:您可以調用帶有 cookie 名稱和 cookie 值的 Cookie 構造函數,cookie 名稱和 cookie 值都是字元串。
Cookie cookie = new Cookie("key","value");
請記住,無論是名字還是值,都不應該包含空格或以下任何字元:
[ ] ( ) = , " / ? @ : ;
(2) 設置最大生存周期:您可以使用 setMaxAge 方法來指定 cookie 能夠保持有效的時間(以秒為單位)。下面將設置一個最長有效期為 24 小時的 cookie。
cookie.setMaxAge(60*60*24);
(3) 發送 Cookie 到 HTTP 響應頭:您可以使用 response.addCookie 來添加 HTTP 響應頭中的 Cookies,如下所示:
response.addCookie(cookie);
(4)完整實例:
// 導入必需的 java 庫
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
// 擴展 HttpServlet 類
public class HelloForm extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// 為名字和姓氏創建 Cookies
Cookie firstName = new Cookie("first_name",
request.getParameter("first_name"));
Cookie lastName = new Cookie("last_name",
request.getParameter("last_name"));
// 為兩個 Cookies 設置過期日期為 24 小時後
firstName.setMaxAge(60*60*24);
lastName.setMaxAge(60*60*24);
// 在響應頭中添加兩個 Cookies
response.addCookie( firstName );
response.addCookie( lastName );
// 設置響應內容類型
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String title = "設置 Cookies 實例";
String docType =
"<!doctype html public \"-//w3c//dtd html 4.0 " +
"transitional//en\">\n";
out.println(docType +
"<html>\n" +
"<head><title>" + title + "</title></head>\n" +
"<body bgcolor=\"#f0f0f0\">\n" +
"<h1 align=\"center\">" + title + "</h1>\n" +
"<ul>\n" +
" <li><b>名字</b>:"
+ request.getParameter("first_name") + "\n</li>" +
" <li><b>姓氏</b>:"
+ request.getParameter("last_name") + "\n</li>" +
"</ul>\n" +
"</body></html>");
}
}
『柒』 java如何用cookies保存用戶登錄信息
然而,上網的時間一長,你會發現臨時文件夾的容量越來越大,這樣容易導致磁碟粹片的產生,影響系統的正常運行。因此,我們可以考慮把臨時文件的路徑進行移位操作,這樣一來可減輕系統的負擔,二來可在系統重裝後快速恢復臨時文件。
方法是在打開IE,依次點擊「工具」-「Internet選項」- 「Internet臨時文件」-「設置」,選擇「移動文件夾」的命令按鈕並設定C盤以為的路徑,然後再依據自己硬碟空間的大小來設定臨時文件夾的容量大小。
歷史記錄:為了便於幫助用戶記憶其曾訪問過的網站,IE提供了把用戶上網所登陸的網址全部記憶下來的功能。雖然這個記憶的功能能幫助少許人記憶網址,但筆者卻認為這是微軟對用戶隱私權侵害的又一鐵證。
試想一下,當別人翻看你的歷史記錄時,當你訪問的網址地址一絲不掛的被他人看個明白,當……因此,筆者要清除歷史記錄!同樣,點擊「工具」-「Internet選項」,找到位於下方的「歷史記錄」,可根據個人喜好輸入數字來設定「網頁保留在歷史記錄中的天數」 (筆者設為1,好的網站可以加入到收藏夾嘛),或直接按下「清除歷史記錄」的按鈕並確認,從此讓歷史記錄Never come back吧。
自動完成:在朋友們第一次使用郵箱或申請成為X網站的用戶時,系統會在第一次輸入完用戶名和密碼後跳出一個對話框。詢問你是否願意保存密碼,選「是」則只用輸入用戶名而不必輸入密碼(密碼輸入由IE的自動完成功能提供)。但這樣也有一個漏洞,即非用戶一但輸入對了用戶名的首字母IE的自動完成就會讓其無需輸入密碼而擁於進入許可權。
IE的自動完成功能設置如下:在IE工作狀態下依次點擊菜單欄上的「工具」-「Internet 選項」-「內容」。
在個人信息出單擊「自動完成」按鈕。在這可設置自動完成的功能范圍:「web地址」,「表單」,「表單上的用戶名和密碼」。還可通過「清除密碼」和「清除表單」來去掉自動完成保留下了的密碼和相關許可權。這這建議在網吧上網的朋友們一定要清除相關記錄哦。
腳本設置:java、JavaApplet、ActiveX等程序和控制項在為朋友們瀏覽網站時提供精彩特效的同時,一些不懷好意的網路破壞者們為了達到其罪惡中的目的,常採用在網頁源文件中加入惡意的Java腳本語言或嵌入惡意控制項的方法;這樣,就給朋友們的上網造成了信息被非法竊取和上網的安全隱患。如何避免這些問題呢,在安裝正版防火牆的同時,我們還應該對Java、javascript等腳本、ActiveX的控制項和插件進行限制,以確保安全。
點擊IE菜單欄中的「工具」-「Internet選項」-「安全」-「Internet」-「自定義級別」,然後進行相關的設置。在這里可以對 「ActiveX控制項和插件」、「Java」、「腳本」、「下載」、「用戶驗證」等安全選項進行選擇性設置:如「啟用」,「禁用」或「提示」。
對相關選項不熟悉的朋友們可在「重置」的下來框中選擇安全級別,然後點擊「確定」讓修改生效。
可是,一旦 cookes為駭客運用,則電腦中的私人信息和數據安全就可能被「盜竊」。因此,我們同樣要限制cookies的許可權。進入IE的「Internet選項」;在「隱私」標簽中找到設置,然後通過滑桿來設置cookies的隱私設置,從高到低劃分為:「阻止所有Cookie」、「高」、「中高」、「中」、 「低」、「接受所有Cookie」六個級別(默認級別為「中」)。
信息限制:網路上的信息無奇不有,這從另一個側面也促使我們使用IE來屏蔽掉有些與年齡和性別都不大符合的Y級站點。
筆者曾斗膽闖盪過上述站點,發現其除了自身具有的精神垃圾特色外,很多採用了先進的html代碼和Java腳本,讓你上過一次就脫不了手,惡意修改IE就是最簡單的證明。
『捌』 怎麼在java中使用cookie
一、java保存寫入Cookie
JSP程序片段如下:
//保存寫入Cookie
<%
String cookieName="Sender";
Cookie cookie=new Cookie(cookieName, "Test_Content");
cookie.setMaxAge(10); //存活期為10秒
response.addCookie(cookie);
%>
解讀一下這段代碼:
Cookie cookie=new Cookie(cookieName, "Test_Content");
這一行建立了一個Cookie對象,初始化有兩個參數,第一個參數cookieName定義了Cookie的名字,後一個參數,也是一個字元串,定義了Cookie的內容。也就是用戶希望網頁在用戶的機器上標識的文件內容。
接下來一行:cookie.setMaxAge(10),調用了Cookie中的setMaxAge方法,設定Cookie在用戶機器硬碟上的存活期為10秒。一個Cookie在用戶的硬碟裡面存在的時間並不是無限期的,在建立Cookie對象的時候,我們必須制定Cookie的存活期,超過了這個存活期後,Cookie文件就不再起作用,會被用戶的瀏覽器自行刪除。如果用戶希望用戶在下次訪問這個頁面的時候,Cookie文件仍然有效而且可以被網頁讀出來的話,用戶可以將Cookie的存活期設得稍微長一些。比如cookie.setMaxAge(365*24*60*60)可以讓Cookie文件在一年內有效。
二、 讀取出Cookie
Cookie文件創建好後,自然還需要用戶把它讀出來,代碼片段如下:
<%
Cookie cookies[]=request.getCookies(); //讀出用戶硬碟上的Cookie,並將所有的Cookie放到一個cookie對象數組裡面
Cookie sCookie=null;
String svalue=null;
String sname=null;
for(int i=0;i<cookies.length-1;i++{ //用一個循環語句遍歷剛才建立的Cookie對象數組
sCookie=cookies; //取出數組中的一個Cookie對象
sname=sCookie.getName(); //取得這個Cookie的名字
svalue=sCookie.getValue(); //取得這個Cookie的內容
%>
<%
}
%>
name value
<%=name%> <%=svalue%>
這一小段JSP文件可以讀出用戶硬碟上的所有有效的Cookie,也就是仍然在存活期內的Cookie文件。並用表格的形式列出每個Cookie的名字和內容。
解讀一下這段代碼:
Cookie cookies[]=request.getCookies() 我們用request.getCookies()讀出用戶硬碟上的Cookie,並將所有的Cookie放到一個cookie對象數組裡面。
接下來我們用一個循環語句遍歷剛才建立的Cookie對象數組,我們用sCookie=cookies取出數組中的一個Cookie對象,然後我們用sCookie.getValue()和sCookie.getName()兩個方法來取得這個Cookie的名字和內容。
通過將取出來的Cookie的名字和內容放在字元串變數中,我們就能對其進行各種操作了。在上面的例子里,可通過循環語句的遍歷,將所有Cookie放在一張表格中進行顯示。
『玖』 Java cookie
作用都是一樣的!
Java
cookie
是用來保存你信息的
比如你的用戶名和密碼?當你下次登錄的時候就不用輸入用戶名和密碼就可以直接登錄了!
在用
cookie
的時候應該設置
cookie
的生命周期!也就是
cookie
自動小時的時間!當過了這個時間
cookie
會話就自動消失了!登錄的時候就要重新輸入用戶名和密碼!瀏覽器那個跟這個差不多!也是用來保存用戶信息的!所以建議你在退出網站的時候:
比如
:淘寶網
在你退出的時候最好清空瀏覽器的
cookie
!以免被別人盜去!解釋的不夠好
!謝謝採納
『拾』 Java中的Cookie的意思、用途!
cookie首先並不是java的概念,是web編程里一種客戶端存儲數據的方式(通常是加密過的)。
有些數據,不是特別重要,但用戶又經常要用到的,比如:網站用戶的登錄信息、歷史查看記錄等等,這些數據保存在伺服器上會讓伺服器承擔很大的壓力,因此變產生了cookie這樣一種客戶端數據存儲的方式。意思就是說把你個人的一些數據保存在本地,這樣伺服器減少了壓力,並且下次你訪問網站的時候,伺服器會主動去你的機器上讀取這些數據並展現出來。
比較常見的例子,有些網站登錄的時候會有一個「記住登錄狀態」的選擇,選了以後用戶以後再來這個網站會發現不用再登錄了,比如網路知道、貓撲等等;再比如最近優酷、騰訊視頻上的的歷史觀看記錄,不用登錄,就可以記錄你的機器上次看了哪些視頻,看到多少分多少秒了,下次來直接點就能接著看,特別實用~~~~ PS.我最近一直在用,哈哈
cookie雖然有諸多好處,但使用的過程中還是需要注意風險,因為客戶端的不確定性,對安全和隱私要求較高的數據建議還是不要放在cookie里存儲,比如網路游戲賬號密碼信息、電子銀行賬戶信息等等。
最後再說一個實例,當你清除瀏覽器緩存的時候,一般會有選擇是否清除cookie,或者360安全衛士幫助你清除上網痕跡的時候,都會把本地cookie清除掉,這時候你會發現,你很長時間都不用登錄的網站,比如網路知道、貓撲(原諒我經常上的網站就這倆,沒別的例子可舉- -!......),現在都需要重新登錄了,原因就是cookie被清除掉了
一字一句全是手打,望樓主採納~~