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" alt=""/></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-28 10:29:43
---------------------------------------------------------------
Code笔记 之:注册页面验证码的更多相关文章
- [oldboy-django][2深入django]登录注册页面验证码
后台生成随机验证码 #验证码生成 - 在login.html 中有一张验证码图片 设置图片的src url, 相当于发送一次get请求,返回的内容为图片渲染的内容 <div class=&quo ...
- Django---Blog系统开发之注册页面(验证码&ajax发送文件)
前端页面及渲染: 静态文件的配置:setting.py: static 文件放在app下 STATIC_URL = '/static/' STATIC_ROOT = ( os.path.join(BA ...
- 项目一:第八天 1、前台系统导入 实现客户注册 发验证码,邮件 springdata-redis存储数据 3、实现客户登陆
1 前台系统客户注册功能 页面:signup.html 1.1 验证手机号是否注册(邮箱同样) 1. 使用Jquery-validate插件进行相关校验,使用校验规则 <input type=& ...
- 爬虫笔记之w3cschool注册页面滑块验证码破解(巨简单滑块位置识别,非鼠标模拟轨迹)
一.背景介绍 最开始接触验证码破解的时候就是破解的w3cschool的使用手机号找回密码页面的验证码,详见:验证码识别之w3cschool字符图片验证码(easy级别),这次破解一下他们注册页面的滑块 ...
- HTML&CSS基础学习笔记1.22-简单的注册页面
一个简单的注册页面 表单提交是前后端数据交互的一种方式. 代码区是一个注册页面,其中包含了以下标签:<form>.<table>.<input>.<butto ...
- Android笔记-4-实现登陆页面并跳转和简单的注册页面
实现登陆页面并跳转和简单的注册页面 首先我们来看看布局的xml代码 login.xml <span style="font-family:Arial;font-size:18px; ...
- 一百一十七:CMS系统之注册页面对接短信验证码
from flask import Blueprint, requestfrom exts import alidayufrom utils import restfulfrom utils.capt ...
- Flask实战第42天:注册页面对接短信接口及接口加密
我们来看下之前写的 sms_captcha函数 @bp.route('/sms_captcha/') def sms_captcha(): params = {'code':'abcd'} resul ...
- git冲突解决、线上分支合并、luffy项目后台登陆注册页面分析引入
今日内容概要 git冲突解决 线上分支合并 登陆注册页面(引入) 手机号是否存在接口 腾讯云短信申请 内容详细 1.git冲突解决 1.1 多人在同一分支开发,出现冲突 # 先将前端项目也做上传到 g ...
随机推荐
- 如何优化 FineUI 控件库的性能,减少 80% 的数据上传量!
在开始正文之前,请帮忙为当前排名前 10 唯一的 .Net 开源软件 FineUI 投一票: 投票地址: https://code.csdn.net/2013OSSurvey/gitop/codevo ...
- 读懂IL代码就这么简单(三)完结篇
一 前言 写了两篇关于IL指令相关的文章,分别把值类型与引用类型在 堆与栈上的操作区别详细的写了一遍 这第三篇也是最后一篇,之所以到第三篇就结束了,是因为以我现在的层次,能理解到的都写完了,而且个人认 ...
- .Net分布式异常报警系统-服务端站点管理
管理站点 对于管理站点, 并没有太复杂的内容, 主要就是对数据库表中的数据进行维护. 管理的实体有3个 WebSite(站点信息), WebService(站点服务器信息), ErrorEntity ...
- 无法将分支 master 发布到远程 origin,因为远程存储库中已存在具有同一名称的分支
无法将分支 master 发布到远程 origin,因为远程存储库中已存在具有同一名称的分支.发布此分支将导致远程存储库中的分支发生非快进更新. 第一次用oschina的git设置完远程仓库后提交出现 ...
- android服务之启动方式
服务有两种启动方式 通过startService方法来启动 通过bindService来开启服务 布局文件 在布局文件中我们定义了四个按键来测试这两种方式来开启服务的不同 <?xml versi ...
- Windows去除快捷箭头
美化桌面 bat代码: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shel ...
- 1025关于explain的补充1
https://segmentfault.com/q/1010000004195469 我的困惑 http://www.cnblogs.com/BeginMan/p/3754322.html 可以指定 ...
- 【转】JSP中文乱码问题终极解决方案
原文地址:http://blog.csdn.net/beijiguangyong/article/details/7414247 在介绍方法之前我们首先应该清楚具体的问题有哪些,笔者在本博客当中论述的 ...
- iOS开发小技巧--定时器的使用技巧
一.定时器的使用技巧 -- 定义好了定时器后,添加两个方法,一个是添加定时器的方法,另一个是移除定时器的方法. 使用的时候也要注意,一定先移除之前的timer,然后再添加timer
- Shell脚本_启动停止重启sh脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...