日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java - 圖片驗(yàn)證碼實(shí)現(xiàn)原理

瀏覽:181日期:2023-11-16 11:08:42

問(wèn)題描述

**測(cè)試網(wǎng)站:http://con.monyun.cn:9960/acc...

在這個(gè)頁(yè)面中有一個(gè)驗(yàn)證碼。這個(gè)驗(yàn)證碼的url是

<img src='http://www.b3g6.com/aut_checkCode.hts?=0.8963835985936632' class='icd'>

如何實(shí)現(xiàn)點(diǎn)擊驗(yàn)證碼的時(shí)候更改顯示圖片??

說(shuō)明:(1) 當(dāng)你點(diǎn)擊驗(yàn)證碼圖片的時(shí)候 ,img標(biāo)簽的src屬性的 后面部分的數(shù)字會(huì)更改,一旦數(shù)字更改會(huì)就會(huì)引起瀏覽器訪問(wèn)新的url獲取數(shù)據(jù)

(2)新的url中查詢字符串只有value沒(méi)有name,那么是不是說(shuō)就服務(wù)器端就無(wú)法獲取到這個(gè)數(shù)字值?0.8963835985936632

服務(wù)器端有辦法獲取這個(gè)數(shù)字值嗎??

(3)假若 沒(méi)有辦法獲取到數(shù)字值。 服務(wù)器端處理請(qǐng)求,返回二進(jìn)制圖像數(shù)據(jù)。這個(gè)時(shí)候會(huì)為圖片生成一個(gè)token嗎? 如果有生成那么如何傳遞給客戶端?

(4)用戶提交驗(yàn)證碼。服務(wù)器端處理,那么如何驗(yàn)證用戶提交的驗(yàn)證碼是否正確?服務(wù)器端根據(jù)什么能夠從redis中獲取到正確的驗(yàn)證碼?

各位說(shuō)說(shuō)給回復(fù)就頂!**

問(wèn)題解答

回答1:

謝邀, 一般來(lái)說(shuō), 驗(yàn)證碼的工作步驟是這樣的:

實(shí)際上是服務(wù)器生成了一個(gè)4位字符串, 用這4位字符串生成圖片寫到response中, 返回給瀏覽器, 并把這個(gè)4位字符串存在了當(dāng)前session中.

瀏覽器提交后, 用提交的字符串和session中的字符串進(jìn)行對(duì)比, 完成驗(yàn)證碼的校驗(yàn).

如果不用session比如可以設(shè)置到cookie中如下(key=test, value=test):java - 圖片驗(yàn)證碼實(shí)現(xiàn)原理

回答2:

1.后面數(shù)字更改是避免瀏覽器緩存問(wèn)題、2.不用使用任何參數(shù),服務(wù)端會(huì)自動(dòng)去按照時(shí)間銼什么的生成一個(gè)驗(yàn)證碼(想看服務(wù)端是否能獲取)

java - 圖片驗(yàn)證碼實(shí)現(xiàn)原理

3.驗(yàn)證碼原理就是生成一串隨機(jī)數(shù)先存入session,最后生成images傳給客戶端給你識(shí)別,用戶提交驗(yàn)證碼答案,服務(wù)端對(duì)你得答案和session當(dāng)中的隨機(jī)數(shù)進(jìn)行對(duì)比,一樣就說(shuō)明驗(yàn)證成功

4.如3

5.redis配合使用一般都會(huì)用到token或者session之內(nèi)的,這樣可以標(biāo)識(shí)這個(gè)驗(yàn)證碼到底是哪一個(gè)用戶的,比如如下key

>keys *>uid_100_login_verify偽代碼

獲取驗(yàn)證碼

User u=User();u.tmp_id=100;//唯一標(biāo)識(shí),傳給客戶端表單Random rand=new Random(種子);int v=rand.rand();//一般會(huì)生成其他得英文字母配合生成復(fù)雜的redisCli.add('uid_100_login_verify',random)//key,valueres.return(new Verify());

驗(yàn)證

User u=User();u.tmp_id=$POST[’tmp_id’];//獲取客戶端string value=redisCli.get('uid_100_login_verify');//key return valueif($POST[’verify_code’]===value){ return '驗(yàn)證成功';}回答3:

第一個(gè):驗(yàn)證碼的大致流程就是和你描述的一樣的。

第二個(gè):生成驗(yàn)證碼是不用往后臺(tái)傳值的,你給的例子,后面的那串?dāng)?shù)字的改變其實(shí)是為了實(shí)現(xiàn)重新請(qǐng)求 URL 而已,一般是圖片鏈接指向生成驗(yàn)證碼的鏈接,點(diǎn)擊后使用 js 來(lái)給連接進(jìn)行改變,就是后面加一串隨機(jī)數(shù),這樣瀏覽器檢測(cè)到 src 后面的連接改變了(那串隨機(jī)字符串就是這個(gè)作用),然后就會(huì)重新請(qǐng)求后臺(tái),獲取重新生成的驗(yàn)證碼圖片。

第三個(gè):后臺(tái)返回二進(jìn)制圖片后,不需要生成 token ,但是需要把生成驗(yàn)證碼的那串?dāng)?shù)字存到 session 里。要保存在服務(wù)器端,才安全,不需要返回到客戶端。

第四個(gè):用戶輸入提交的驗(yàn)證碼后,就把用戶提交的驗(yàn)證碼數(shù)字,和服務(wù)端 session 里的數(shù)字進(jìn)行對(duì)比。 如果一樣的話,就驗(yàn)證通過(guò)。

至于最后把驗(yàn)證碼放到redis里,你可以去搜索一下,如何把 session 存到 redis 里,相關(guān)的資料。

回答4:

后臺(tái)代碼大體上是

public void genAuthImage(){

//生成token uuid //寫入cookieresponse.addCookie();--->實(shí)際上是設(shè)置set-cookie頭信息

//生成圖片使用response寫出end}前端:

前端:java - 圖片驗(yàn)證碼實(shí)現(xiàn)原理

chrome 檢查

java - 圖片驗(yàn)證碼實(shí)現(xiàn)原理

控制臺(tái)

java - 圖片驗(yàn)證碼實(shí)現(xiàn)原理

不確定的結(jié)論: response返回響應(yīng)類型為image/jpg的時(shí)候 無(wú)法設(shè)置cookie。原因各位有看到的朋友可以解釋下嗎

標(biāo)簽: java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费一级片91| 麻豆成人91精品二区三区| 国产中文在线播放| 欧美日韩伊人| 国产日韩欧美三级| 成人日韩在线观看| 亚洲五月婷婷| 樱桃成人精品视频在线播放| 怡红院精品视频在线观看极品| 免费日韩一区二区| 亚洲欧洲国产精品一区| 日韩综合一区二区三区| 日韩国产欧美在线视频| 久久国产精品免费精品3p | 欧美成人国产| 狠狠爱成人网| 一区二区电影在线观看| 中文字幕亚洲精品乱码| 欧美天堂在线| 精品国产乱码久久久久久樱花 | 欧美激情福利| 欧美男人天堂| 99国产精品99久久久久久粉嫩| 男女精品网站| 国产调教一区二区三区| 国产aⅴ精品一区二区四区| 亚洲成人不卡| 91嫩草精品| 国产精品久久观看| japanese国产精品| 日韩不卡一区二区| 国产精品jk白丝蜜臀av小说| www.51av欧美视频| 国产精品日本| 国产婷婷精品| 欧美日韩99| 精品视频网站| 在线国产一区二区| 日本午夜精品久久久| 国产福利一区二区三区在线播放| 黑森林国产精品av| 99免费精品| 日本亚洲最大的色成网站www| 久久超碰99| 欧美日韩中文字幕一区二区三区| 亚洲精品免费观看| 亚洲一二av| 国产在线一区不卡| 鲁大师影院一区二区三区| 久久国内精品视频| 日韩精品一区二区三区免费观看| 国产农村妇女精品一区二区| 亚洲精品欧美| 国产日韩中文在线中文字幕 | 91一区二区| 91精品高清| 免费久久精品视频| 精品五月天堂| 亚洲一区二区成人| 国产在线日韩精品| 日韩一区欧美二区| 国产精品久久久久久久久久久久久久久 | 高清一区二区| 日本欧洲一区二区| 国产成人久久精品麻豆二区| 中文一区一区三区免费在线观| 久久男人av| 日韩视频中文| 国产精品午夜av| 色老板在线视频一区二区| 91精品电影| 久久精品午夜| 中文字幕av一区二区三区人| 少妇精品久久久| **爰片久久毛片| 亚洲午夜精品久久久久久app| 国产亚洲观看| 老司机精品久久| 日韩伦理在线一区| 国产免费久久| 蜜桃视频在线观看一区| 国产精品av一区二区| 免费一级欧美在线观看视频 | 国产精品久久久久久久免费观看 | 亚洲www免费| 国产精品久久久久久久久久妞妞 | 超碰99在线| 国产伦理久久久久久妇女| 国产婷婷精品| 视频一区中文| 欧美香蕉视频| 国产精品66| 少妇精品久久久一区二区| 999国产精品视频| 国产成人精品一区二区三区在线| 日韩精品视频中文字幕| 香蕉久久夜色精品国产| 91精品啪在线观看国产18 | 成人羞羞在线观看网站| 免费一级欧美片在线观看网站 | 亚洲综合另类| 欧美日韩水蜜桃| 国产高清不卡| 国产福利91精品一区二区| 国产乱码精品一区二区三区四区 | 人人精品久久| 日韩精品欧美精品| 视频在线观看一区| 91久久国产| 久久一区二区中文字幕| 国产成人精品一区二区三区在线| 国产精品99精品一区二区三区∴| 欧美在线看片| 久久国产精品免费精品3p| 人人爽香蕉精品| 亚洲一区二区毛片| 欧美日韩国产精品一区二区亚洲| 久久精品青草| 久久国产亚洲| 欧美日韩在线网站| 欧美国产91| 欧美日韩四区| 日韩视频在线一区二区三区 | 日本久久精品| 久久久久久久欧美精品| 日韩午夜av| 日韩网站在线| 免费国产自线拍一欧美视频| 午夜在线一区| 亚洲三级网站| 日韩国产在线观看| 国产欧美三级| 久久一区视频| 97精品在线| 精品高清久久| av资源亚洲| 亚洲国产专区校园欧美| 亚洲激情二区| 久久国产高清| 日韩欧美2区| 欧美日韩亚洲一区二区三区在线| 91精品国产自产在线丝袜啪| 国产欧美日韩精品一区二区三区| 国产精品片aa在线观看| 麻豆精品av| 日韩高清中文字幕一区二区| 国产精品91一区二区三区| 亚洲视频电影在线| 国产免费av一区二区三区| 欧美激情一区| 蜜臀久久精品| 亚洲欧美日韩精品一区二区 | 日本亚洲不卡| 国产精品三级| 亚洲成人不卡| 久久亚洲视频| 欧美视频一区| 电影91久久久| 欧美在线影院| 奇米亚洲欧美| 免费亚洲婷婷| 不卡中文一二三区| 日韩av中文字幕一区二区| 久久精品国产福利| 久久久成人网| 亚洲一区av| 久久精品国产成人一区二区三区| 婷婷综合六月| 亚洲精品麻豆| 日韩av自拍| 午夜一区在线| 精品国产亚洲一区二区三区在线| 久久国产影院| 日本午夜免费一区二区| 免费看av不卡| 999在线观看精品免费不卡网站| 欧美日本精品| 激情婷婷亚洲| 欧美日本精品| 99精品在线免费在线观看| 亚洲+小说+欧美+激情+另类| 97精品一区| 日韩在线麻豆| 日韩高清中文字幕一区二区| 日韩激情一区二区| 色老板在线视频一区二区| 日本不卡中文字幕| 精品捆绑调教一区二区三区 | 日本特黄久久久高潮| 亚洲天堂一区二区| 7m精品国产导航在线| 久久青草久久| 91精品国产自产观看在线| 精品中文一区| 麻豆91精品91久久久的内涵| 性欧美长视频| 日韩国产一区二区| 欧美亚洲二区| 夜夜嗨一区二区三区| 成人台湾亚洲精品一区二区|