Code笔记 之:注册页面验证码

文章内容包括:

1、验证码制作 -- 中文|字母|数字|……

2、图文验证码 -- 图片防盗链(PHP而非JS)

3、JS防止右键点击图片

4、input表单输入框不记录输入过的信息

5、CSS+div格式化页面布局

1、验证码制作

参考:http://www.imooc.com/video/2458

待续……

2、图片防盗链

【For Example】TP 框架中,在地址栏中可以直接访问类的成员函数,比如 http://localhost/Member/common/panduan

这里的panduan()是一个方法,写在  class CommonAction extends MCommonAction{} 类CommonAction控制器里面的,

成员函数 public function panduan(){  ……  }就写在类控制器CommonAction里面,如果不想让外界直接访问该方法,

可以使用  防盗链  技术,即:

public function panduan(){

  if(!$_SERVER[‘HTTP_REFERER‘]){

    echo "访问出错!";

  }

…………

}

【技术讲解】防盗链技术使用了HTTP的Referer

3、JS防止右键点击图片

防止右键点击:鼠标右键点击图片时,不弹出右键菜单。

<script language="javascript">
 /*document.oncontextmenu=Youji;*/  //为当前文档添加鼠标右击事件,防止默认的右击菜单弹出
    function Youji()
    {
  alert("右击成功!");

return false;
 }
 
 //为某个dom元素添加鼠标右击事件
 window.onload = function(){
  document.getElementById("div1").oncontextmenu=Youji;
 } 
 window.onload = function(){
  document.getElementById("vimg").oncontextmenu=Youji;
  document.getElementById("div1").oncontextmenu=Youji;
 }
 /*  可能只执行一个window.onload()*/
  </script>
 <img src="/imgs/1.gif" id="vimg"/>
 <div id="div1" >
 </div>

\\\\\\\\\\\\\\\window.onload()简介

windows.onload()  调用 必须等到页面内包括图片的所有元素加载完毕后才能执行。

window.onload = Checkbox_Click. Checkbox_Click is a js function.

不能同时编写多个,如果有多个window.onload方法,只会执行一个

与$(document).ready区别:

$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。

$(document).ready()可以同时编写多个,并且都可以得到执行.
$(document).ready(function(){})可以简写成$(function(){});

\\\\\\\\\\\\\Dom是什么//////////

参考:http://www.w3school.com.cn/htmldom/dom_nodes.asp

DOM就是HTML元素---即节点,所有HTML元素(节点)都可以被修改、删除等。

通过 HTML DOM,树中的所有节点均可通过 JavaScript 进行访问。所有 HTML 元素(节点)均可被修改,也可以创建或删除节点。

……

\\\\\\\\DOM概念介绍结束////////

PS:介绍点击小图显示成大图的JS效果

<title>点击显示大图的JS</title>
<style>
#demo{overflow:hidden;width:120px;text-align:center;padding:10px;}
#demo img{border:3px solid #eeeeee;width:100px;height:75px;}
#enlarge_images{position:absolute;display:none;z-index:2;}
</style>
<div id="demo"><img src="/jscss/demoimg/wall7.jpg" border="0" /></div>
<div id="enlarge_images"></div>
<script>
var demo = document.getElementById("demo");
var gg = demo.getElementsByTagName("img");
var ei = document.getElementById("enlarge_images");
for(i=0; i<gg.length; i++){
var ts = gg[i];
ts.onclick = function(event){
event = event || window.event;
ei.style.display = "block";
ei.innerHTML = ‘<img src="‘ + this.src + ‘" />‘;
ei.style.top = document.body.scrollTop + event.clientY + 10 + "px";
ei.style.left = document.body.scrollLeft + event.clientX + 10 + "px";
}
ts.onmouseout = function(){
ei.innerHTML = "";
ei.style.display = "none";
}
}
</script>

4、input表单不记录输入过的信息

当我们在浏览器中输入表单信息的时候,往往input文本输入框会记录下之前提交表单的信息,以后每次只要双击 input文本输入框就会出现之前输入的文本,这样有时会觉得比较方便,但有时也会暴露用户的隐藏数据。

  如果让input表单输入框不记录输 入过的信息,方法如下:

其实很简单,只需要在input文本输入框中加一条autocomplete="off"属性即可,相关代码如下所示:

<input type="text" name="uname" autocomplete="off" />

5、CSS+div

【style 样式属性】

行高:line-height

浮动:float

边框:border  ,比如:border:1px solid #ccc;  /*表示边框是灰色实线粗度1px*/

圆角边框:border-radius , 详见 www.kuqin.com/shuoit/20141014/342620.html

【html标签】

上标:<sup></sup>

【安全性防护】

【禁止页面的鼠标右键菜单-查看源代码】

$(document).ready(function(){

//为dom元素:img id="pV" 添加右击事件
window.onload =function(){ //pV 
document.getElementById("pV").oncontextmenu=function(){ return false;};
window.oncontextmenu=function(){ return false;};  //为所有dom元素(即整个页面)添加“禁止查看源代码”
}
});

【HTML页面中-如何隐藏js代码】

实际上,js代码是无法隐藏的,只能混淆或者加密,或者使用其他方法。

思路一:混淆或者加密
严格不能叫加密只是混淆替换了所有的变量名。

{弊端}脚本语言混淆只是可读性变差了。但是高手会用chrome或者ff的console去调试你的JS。所以,安全是相对来说的。

思路二:引用js文件

用引用方法引用js页面会看不到代码,可以做成JS文件,然后调用JS连接。
在JS文件目录做好权限设置,防止非法访问和下载。

{格式}

<script type="text/javascript" src="你的js文件.js"> </script>
这样,js代码写在js文件里,就不会在html页面被看到了。

--------------------------------------------------------------

由于个人对技术知识的表达不是很专业,还望各位看官

多多见谅,多多评论,多多指导!

不吝赐教~(~_~)

首次撰写日期:2016-6-14 11:30:13

最新修改日期:2016-6-16 16:18:35

2016-6-20 10:51:02

---------------------------------------------------------------

时间: 2024-08-28 21:47:04

Code笔记 之:注册页面验证码的相关文章

网上图书商城项目学习笔记-004注册页面前后台的验证

一.功能分析 二.代码实现 1.前端验证 1 $(function() { 2 /* 3 * 1. 得到所有的错误信息,循环遍历之.调用一个方法来确定是否显示错误信息! 4 */ 5 $(".labelError").each(function() { 6 showError($(this));//遍历每个元素,使用每个元素来调用showError方法 7 }); 8 9 /* 10 * 2. 切换注册按钮的图片 11 */ 12 $("#submitBtn").h

[oldboy-django][2深入django]登录注册页面验证码

后台生成随机验证码 #验证码生成 - 在login.html 中有一张验证码图片 设置图片的src url, 相当于发送一次get请求,返回的内容为图片渲染的内容 <div class="col-sm-5"> <input type="password" class="form-control" id="inputPassword3" placeholder="验证码"> </

注册页面的验证码的实现

验证码 主要:绘制,验证 在一些网站的注册页面,通常在最后会让用户输入验证码,以此防止恶意注册,有些也会在登陆页面,防止暴力破解密码等. 页面的验证码,实际上是一个图片,这个图片事先人们是不知道的,它是由程序随机绘制成的,并且,在产生的时候,程序记录下来了它的值.(便于后面的验证) servlet 服务器小程序,可以实现绘制验证码的功能,绘制的步骤如下: 1.建立图片缓存对象 BufferImage bi = new BufferImage(width,height,绘制类型参数): 原型:Bu

android一个注册页面和验证码的实现

先上效果图: 验证码采用PHP返回的imageview来实现,xml如下: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height=&

页面实现验证码功能,点击“注册”按钮后,无论是否完成注册,验证码都能够自动刷新

要求页面实现验证码功能,点击"注册"按钮后,无论是否完成注册,验证码都能够自动刷新 <script> function validteCode() { var codes = new Array(4);       // var colors = new Array("Red","Green","Gray","Blue","Maroon","Aqua",&

Android笔记-4-实现登陆页面并跳转和简单的注册页面

实现登陆页面并跳转和简单的注册页面 首先我们来看看布局的xml代码 login.xml <span style="font-family:Arial;font-size:18px;"><?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu

HTML&amp;CSS基础学习笔记1.22-简单的注册页面

一个简单的注册页面 表单提交是前后端数据交互的一种方式. 代码区是一个注册页面,其中包含了以下标签:<form>.<table>.<input>.<button>.<textarea>.<select>. 我们可以称它们为表单控件,仔细观察这些标签的结构,和在页面上的表示形式. <!DOCTYPE html> <html lang="en"> <head> <meta ch

用纯javascript和html编写仿淘宝注册页面(带源码)

本地javascript(纯天然代码)验证,本地验证主要分2部分: 一.和用户的表单交互 首先需要编写用于表单交互的函数,该函数需要在页面加载时加载,格式如下:window.onload=function (){} 接着用getElement的方法获取相应的标签在function函数里定义为全局变量. 然后在function内编写这些变量的事件,用到的三大事件分别为:onfocus(获取焦点事件).onkeyup(键盘事件).onblur(失去焦点事件). 用法:以onfocus为例如下: pw

简单带验证的注册页面

<!DOCTYPE html><html> <head>        <meta charset="UTF-8">            <script src="js/jquery-1.11.3.js"></script>        <script src="js/jquery.min.js"></script>        <titl