① 網頁製作:網頁中登錄時出現的驗證是怎麼實現的(如圖)求詳細步驟謝謝
有兩種方式:
1.純粹的前台Javascript生成:
1.1.將需要用到的數字,字母圖片都放置在伺服器圖片 文件夾中,命名最好對應圖片;
1.2.使用js隨機函數,隨機從24個字母和0-9種抽取四個字元;
1.3.從js隨機函數生成的隨機4字元中,對應匹配圖片的名稱,抽取對應圖片;
1.4.把圖片載入在前台頁面即可;
1.5.用戶輸入字元,抓取字元與1.3.步生成的字元匹配,相等則通過,不相等ALERT;
2.加以JAVA或者其他後台伺服器語言的程序輔助;
2.1.使用JAVA或(...)的隨機字元生成圖片 器;
2.2.生成圖片直接載入到頁面中;
2.3.用戶輸入字元,JS直接抓取,用ajax同步對比生成的字元(2.1.),或者將第一步
生成字元直接載入到頁面隱藏元素,js直接抓取值對比;
2.4.其餘一致了。
如果你是學前端的,第一種方式你要全通,第二種方式,只需要了解第二步開始的內容,
不過如果是AJAX載入,你還得學點後台語言。一個對後台全不通的是做不好前端的。
建議網路一下js驗證碼就有一堆方法介紹。但是如果想真的通,最好還是去W3C SCHOOL
從頭好好學基礎知識。
② wordpress前端登陸驗證碼once隨機數緩存
有時候在登錄Wordpress時報錯:隨機數校驗失敗,或者認證失敗等等。其實,這是WordPress的隨機數和緩存導致的問題。其實就是其中一個人把登錄頁面緩存了,而緩存時間已經超過12個小時。Wordpress默認隨機數nonce時間在12-24小時之內就會失效。只能清空緩存才能再次正常登陸。接下來搬主題就分享一下加大WordPress的隨機數nonce過期時間解決緩存過期錯誤問題。
針對上面的問題,要麼清空登錄頁面的緩存,要麼把WordPress隨機數nonce有效時間改成48小時,網頁緩存(WP Super Cache等緩存插件)時間改成24小時。
實際上,WP會為那些涉及安全問題的地方,比如ajax載入之類,會提供一個隨機數,每個用戶不同。而這個隨機數有個有效期,默認為24小時。事實上,按照WP官方描述,這個時間上是12-24小時之間,隨機失效。所以,當使用各類WordPress緩存插件緩存頁面超過12小時,這個隨機數就有可能失效,直接導致認證失敗,登陸失敗等問題。
③ java 登陸時的驗證碼怎麼做
後台寫一個生成圖片隨機的代碼,生成圖片給前台。切換圖片的時候,使用ajax獲取圖片數據就行。
附上生成圖片的代碼
public class ValidateCode {
private int width=180;
private int height=60;
private int codeCount = 4;
private int x = 0;
private int codeY;
private String Code;
private BufferedImage buffImg;
static char[] codeSequence = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
'X', 'Y', 'Z','a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z', 'o', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
private int fontHeight;
public ValidateCode() {
x = width / (codeCount + 2);
fontHeight = height - 2;
codeY = height - 4;
CreateCode();
}
public void CreateCode(){
// 定義圖像buffer
BufferedImage buffImg = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
Graphics2D g = buffImg.createGraphics();
// 創建一個隨機數生成器類
Random random = new Random();
// 將圖像填充為白色
g.setColor(Color.WHITE);
g.fillRect(0, 0, width, height);
// 創建字體,字體的大小應該根據圖片的高度來定。
Font font = new Font("Fixedsys", Font.PLAIN, fontHeight);
// 設置字體。
g.setFont(font);
// 畫邊框。
g.setColor(Color.BLACK);
g.drawRect(0, 0, width - 1, height - 1);
// randomCode用於保存隨機產生的驗證碼,以便用戶登錄後進行驗證。
StringBuffer randomCode = new StringBuffer();
int red = 0, green = 0, blue = 0;
// 隨機產生codeCount數字的驗證碼。
for (int i = 0; i < codeCount; i++) {
// 得到隨機產生的驗證碼數字。
String strRand = String.valueOf(codeSequence[random.nextInt(62)]);
// 產生隨機的顏色分量來構造顏色值,這樣輸出的每位數字的顏色值都將不同。
red = random.nextInt(255);
green = random.nextInt(255);
blue = random.nextInt(255);
// 用隨機產生的顏色將驗證碼繪制到圖像中。
g.setColor(new Color(red, green, blue));
g.drawString(strRand, (i ) * x+20, codeY);
// 將產生的四個隨機數組合在一起。
randomCode.append(strRand);
}
this.Code=randomCode.toString().toUpperCase();
this.buffImg=buffImg;
}
public String getCode() {
return Code;
}
public void setCode(String code) {
Code = code;
}
public BufferedImage getBuffImg() {
return buffImg;
}
public void setBuffImg(BufferedImage buffImg) {
this.buffImg = buffImg;
}
}
④ web前端怎麼開發簡訊驗證功能
用戶點擊獲取驗證碼時,發送手機號到後端介面
後端接收請求後,將手機號及驗證碼發給簡訊網關,並將手機號和簡訊驗證碼保存起來
用戶收到簡訊後,輸入驗證碼,然後將驗證碼和手機號傳給後端
後端校驗手機號和驗證碼是否與之前保存的一致,如果一致,則鑒權通過
向前端發送認證通過的cookie以及通過狀態
前端進行頁面跳轉或其他業務邏輯
⑤ 驗證碼一般是前端驗證還是後台生成啊
<html>
<head>
<script language="javascript" type="text/javascript">
var code ;
function createCode(){
code = new Array();
var codeLength = 4;
var checkCode = document.getElementById("checkCode");
checkCode.value = "";
var selectChar = new Array(2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z');
for(var i=0;i<codeLength;i++) {
var charIndex = Math.floor(Math.random()*32);
code +=selectChar[charIndex];
}
checkCode.value = code;
}
function validate () {
var inputCode = document.getElementById("yzm").value.toUpperCase();
if(inputCode != code ){ alert("驗證碼錯誤!"); return false; }
else { alert("驗證碼正確!"); return true; }
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body onLoad="createCode();">
驗證碼:<input type="text" id="yzm" size="5" />
<input type="button" id="checkCode" onClick="createCode()" title="刷新驗證碼" style="width:50px;color:#F00;border:0;letter-spacing:1px;font-family:Arial;" />
<input type="button" id="Button1" onClick="validate();" value="確定" />
</body>
</html>