当前位置:首页 » 编程语言 » php验证器

php验证器

发布时间: 2023-05-24 08:09:27

① Thinkphp5.0数据更新验证唯一性怎么验证

需要用到验证器
然后在model中调用验证器验证数据是否唯一就可以了

② php登录验证第一次没反应,第二次可以登录成功

你登陆成功不要用这种js跳转,用php的header('Location: /index.php');
之所以你这种第一次不成功是由于cookie和session引起的,你填写完账号密码登陆,这是第一次请求session_start时候会对于这个sessionID生成一个cookie保存在你的客户端,然而cookie要起作用必需又是,下次请求的时候客户端带着cookie来服务器找回对应的session,因为你提交账号密码时候你本地还没有对应的cookie,所以必须是上一句说的(下次),衡袭橡你上面代码中的back是浏览器历史纪录的回退,并没有新建一个请求,所以没有跳转到index.php,如果你刷新了他找到了对应得session就自然会跳转

栗子:
你去面包店买蛋糕,你第一次去老板肯定不会给你蛋糕,你没给钱他也没把凭据给你,
然后你下了订单,老板写了一张单给你,自己留了一份底单,下次你带着底单过来的时候,他就会把你下单时候买的蛋糕给你(单据就类似于session 你的底单就相当于cookie)

怎么禅散改上面的代码就不说了,好咐旁好吃透cookie和session之间的原理你就会解决了

③ PHP验证码 实现点击刷新

随机产生的验证码放在一个文件1中
在另一个文件中引用文件1
<img src="code.php" onClick="this.src='code.php?nocache='+Math.random()" style="cursor:hand" alt="点击换一张"/>

实现点击图片自动刷新图片

④ PHP服务器不能显示验证码

首先从最简单的入手:
如果你只是验证码的图片是小红叉.那么指着小红叉位置.右键"显示图片"即可.如果还不行请刷新页面.

网站的验证码图片一般是“.xbm”格式。Windows XP SP2/Windows 2003操作系统默认情况下不支持“.xbm”格式,造成验证码无法显示。

方法一 手动修改注册表:

开始 /运行 /填入“regedit ” /展开[HKEY_LOCAL_MACHINE-SOFTWARE-Microsoft-Internet Explorer-Security],在右侧窗口找到BlockXBM的Dword值(没有请新建)并双击在弹出的编辑对话框中将其数值数据设为“0”,点击“确定”。
然后在再你需要填入验证码的页面(按F5)刷新一下,应该正常了.

方法二 自动修改注册表:
打开记事本将下边的内容写在记事本上
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Internet Explorer\\Security]
"BlockXBM"=dword:00000000
保存成.reg文件(文件类型选择全部),并双击导入,重启计算机就行了。

如果你是浏览网上银行导致用户名和密码输入框都无法正常显示,那么是你IE设定了阻止ActiveX控件的原因..一般出现这种情况时..先把IE的选项设为默认,然后刷新页面,这时提醒你安装ActiveX控件的时候安装即可

⑤ php怎么实现验证码的

验证码功能机制实现思路

  1. 常规的验证码实现:

    a、产生一张png的图片


    b、为图片设置背景色


    c、设置字体颜色和样式


    d、产生4位数的随机的验证码


    e、把产生的每个字符调整旋转角度和位置画到png图片上


    f、加入噪点和干扰线防止注册机器分析原图片来恶意注册


    g、输出图片


    h、释放图片所占内存


    i、将验证码保存到session或是数据库


    j、将和输入的验证码进行对比

  2. 短信(邮箱)验证码机制:

    a、产生4-6位数的随机的验证码


    b、把产生的每个字符保存到session或是数据库


    c、将验证码发送到用户的手机(邮箱)


    d、用户在规定时间内进行输入


    e、将验证码从session或是数据库中取出


    f、将和输入的验证码进行对比验证

⑥ 如何实现php手机短信验证功能

现在网站在建设网站时为了保证用户信息的真实性,往往会选择发短信给用户手机发验证码信息,只有通过验证的用户才可以注册,这样保证了用户的联系信息资料的100%的准确性。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >

<html xmlns>

<head>

<title></title>

<script src="js/jquery-1.4a2.min.js" type="text/javascript"></script>

<script type="text/javascript">

/*-------------------------------------------*/

var InterValObj; //timer变量,控制时间

var count = 60; //间隔函数,1秒执行

var curCount;//当前剩余秒数

var code = ""; //验证码

var codeLength = 6;//验证码长度

function sendMessage() {

curCount = count;

var dealType; //验证方式

tel = $(’#tel’).val();

if(tel!=’’){

//验证手机有效性

var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+d{8})$/;

if(!myreg.test($(’#tel’).val()))

{

alert(’请输入有效的手机号码!’);

return false;

}

tel = $(’#tel’).val();

//产生验证码

for (var i = 0; i < codeLength; i++) {

code += parseInt(Math.random() * 9).toString();

}

//设置button效果,开始计时

$("#btnSendCode").attr("disabled", "true");

$("#btnSendCode").val("请在" + curCount + "秒内输入验证码");

InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次

//向后台发送处理数据

$.ajax({

type: "POST", //用POST方式传输

dataType: "text", //数据格式:JSON

url: ’yanzhengma.php’, //目标地址(根据实际地址)

data: "&tel=" + tel + "&code=" + code,

error: function (XMLHttpRequest, textStatus, errorThrown) { },

success: function (msg){ }

});

}else{

alert(’请填写手机号码’);

}

}

//timer处理函数

function SetRemainTime() {

if (curCount == 0) {

window.clearInterval(InterValObj);//停止计时器

$("#btnSendCode").removeAttr("disabled");//启用按钮

$("#btnSendCode").val("重新发送验证码");

code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效

}

else {

curCount--;

$("#btnSendCode").val("请在" + curCount + "秒内输入验证码");

}

}

</script>

</head>

<body>

<input name="tel" id=tel type="text" />

<input id="btnSendCode" type="button" value="发送验证码" onclick="sendMessage()" /></p>

</body>

</html>


第三、调用短信服务器短信接口

整理的页面是yanzhengma.php(具体根据服务商提供信息)

<?php //提交短信

$post_data = array();

$post_data[’userid’] =短信服务商提供ID;

$post_data[’account’] = ’短信服务商提供用户名’;

$post_data[’password’] = ’短信服务商提供密码’;

// Session保存路径

$sessSavePath = dirname(__FILE__)."/../data/sessions/";

if(is_writeable($sessSavePath) && is_readable($sessSavePath)){

session_save_path($sessSavePath);

}

session_register(’mobliecode’);

$_SESSION[’mobilecode’] = $_POST["code"];

$content=’短信验证码:’.$_POST["code"].’【短信验证】’;

$post_data[’content’] = mb_convert_encoding($content,’utf-8’, ’gb2312’); //短信内容需要用urlencode编码下

$post_data[’mobile’] = $_POST["tel"];

$post_data[’sendtime’] = ’’; //不定时发送,值为0,定时发送,输入格式YYYYMMDDHHmmss的日期值

$url=’http://IP:8888/sms.aspx?action=send’;

$o=’’;

foreach ($post_data as $k=>$v)

{

$o.="$k=".$v.’&’;

}

$post_data=substr($o,0,-1);

$ch = curl_init();

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果需要将结果直接返回到变量里,那加上这句。

$result = curl_exec($ch);

?>


第四:提交表单信息时对短信验证码验证

//手机验证码开始

session_start();

$svalitel = $_SESSION[’mobilecode’];

$vdcodetel = empty($vdcodetel) ? ’’ : strtolower(trim($vdcodetel));

if(strtolower($vdcodetel)!=$svalitel || $svalitel==’’)

{

ResetVdValue();

//echo "Pageviews=".$vdcodetel;

ShowMsg("手机验证码错误!", ’-1’);

exit();

}

⑦ php如何验证过滤用户是否登录

一、php可以通过Session,实现用户登录验证。

session习惯上被译为会话,它的设计是为了在一个访问期间在不同的页面间传输数据,以解决http协议无状态的问题。

session_register()函数的作用是注册新的变量,它会在全局变量中增加1个变量到目前的session之中,以后其他页面可以通过session_is_registered()函数检测该session变量是否已经注册。

二、通过session来检测用户登录信息,由两个文件组成,login.php为用户登录页面,checklogin.php用于检测账号、密码和是否登录成功。

具体参考代码如下:

login.php的代码如下:
<?php
session_start();//初始化session
if(isset($_SESSION['shili']))
{
header("Location:shili.php");//重新定向到其他页面
exit();
}
?>
<scriptlanguage="javascript">
functionchecklogin(){
if((login.username.value!="")&&(login.password.value!=""))
{
returntrue;//判断用户名和密码不为空,返回TRUE
}
else
{
alert("昵称或密码不能为空!")
}
}
</script>
<styletype="text/css">
.style1{font-size:13px;font-family:"黑体";font-weight:normal;color:#0099FF;}
</style>
<divalign="center">
<formname="login"method="post"action="checklogin.php"onSubmit="returnchecklogin()">
<tablewidth="260"border="1"bgcolor="#D8EFFA">
<tralign="center">
<tdheight="30"colspan="2"><spanclass="style1">管理系统登录</span></td>
</tr>
<tr>
<tdwidth="90"align="center"class="style1">管理员:</td>
<tdwidth="170"height="20"align="left"valign="middle"><inputname="username"type="text"id="username"size="20"></td>
</tr>
<tr>
<tdalign="center"class="style1">密码:</td>
<tdheight="20"align="left"valign="middle"><inputname="password"type="password"id="password"size="20"></td>
</tr>
<tr>
<tdalign="center"class="style1"></td>
<tdheight="20"align="center"><inputtype="submit"name="Submit"value="登录"></td>
</tr>
</table>
</form>
</div>
checklogin.php的代码如下:
<?php
session_start();//初始session
if(isset($_SESSION['shili']))
{
header("Location:shili.php");//重新定向到其他页面
exit;
}//登录过的话立即结束
$shili_name=$_POST['username'];//获取参数
$password=$_POST['password'];
//验证管理员名称和密码是否正确,这里采用直接验证,没有连接数据库
if($shili_name=="mr"and$password=="mrsoft")
{
session_register("shili");//注册新的变量,保存当前会话的昵称
$shili=$shili_name;
echo"<fontcolor=red>登录成功!</font>";
header("Location:shili.php");//登录成功重定向到管理页面
}
else
{
echo"<tablewidth='100%'align=center><tr><tdalign=center>";
echo"账号或密码错误,或者不是管理员账号<br>";
echo"<fontcolor=red>登录失败!</font><br><ahref='login.php'>请重新输入</a>";
echo"</td></tr></table>";
}
?>
shili.php的代码如下:(实验简单验证)
<?php
echo"WelcometoMyWorld!";
?>
//如果想要对某个页面限制浏览的用户,可以使用同样的方式,只要把如下的代码放在该页面的开头即可:
<?php
session_start();
if(!isset($_SESSION['shili'])){
echo"<palign=center>";
echo"<fontcolor=#ff0000size=5><strong><big>";
echo"你没有登录,请<ahref='denglu.php'>登录</a>!";
echo"</big></strong></font></p>";
exit();
}
?>


⑧ thinkphp验证器正则常用规则

ThinkPHP的自动验证常用的正则

一般我们见的比较多的是设置规则为require、email之类的,其实这些本身也是属于正则表达式验证方式,只是系统内置定义了一些常用的正则表达式而已。这些内置的正则表达式的定义可以参考model类的regex方法,内置支持的正则定义包括:
require 字段必须、email 邮箱、url URL地址、currency 货币、number 数字、zip 邮编、integer 整数、double 浮点数、english 英文字母,但是并不局限于这些正则规则的,我们完全可以直接在验证规则里面使用正则表达式进行定义,这样我们可以凭借强大的正则表达式来进行表单字段验 证,例如:

附上一些表单验证中比较常用的正则表达式写法:

匹配特定字符串:

限定符
限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。有 * 或 + 或 ? 或 {n} 或 {n,} 或 {n,m} 共6种。

正则表达式的限定符有:

ThinkPHP的自动验证机制是为了进行表单数据验证,验证可以支持function、 callback、confirm、equal、unique和regex,这里要讲的是使用正则表达式进行验证。

特殊字符

许多元字符要求在试图匹配它们时特别对待。若要匹配这些特殊字符,必须首先使字符"转义",即,将反斜杠字符 放在它们前面。下表列出了正则表达式中的特殊字符:

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

例如:

构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。

正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。

非打印字符也可以是正则表达式的组成部分。下表列出了表示非打印字符的转义序列:

所谓特殊字符,就是一些有特殊含义的字符,如上面说的 runoo*b 中的 ,简单的说就是表示任何字符串的意思。如果要查找字符串中的 * 符号,则需要对 * 进行转义,即在其前加一个 : runo*ob 匹配 runo ob。

许多元字符要求在试图匹配它们时特别对待。若要匹配这些特殊字符,必须首先使字符"转义",即,将反斜杠字符 放在它们前面。下表列出了正则表达式中的特殊字符:

限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。有 * 或 + 或 ? 或 {n} 或 {n,} 或 {n,m} 共6种。

正则表达式的限定符有:

由于章节编号在大的输入文档中会很可能超过九,所以您需要一种方式来处理两位或三位章节编号。限定符给您这种能力。下面的正则表达式匹配编号为任何位数的章节标题:

请注意,限定符出现在范围表达式之后。因此,它应用于整个范围表达式,在本例中,只指定从 0 到 9 的数字(包括 0 和 9)。

这里不使用 + 限定符,因为在第二个位置或后面的位置不一定需要有一个数字。也不使用 ? 字符,因为使用 ? 会将章节编号限制到只有两位数。您需要至少匹配 Chapter 和空格字符后面的一个数字。

如果您知道章节编号被限制为只有 99 章,可以使用下面的表达式来至少指定一位但至多两位数字。

上面的表达式的缺点是,大于 99 的章节编号仍只匹配开头两位数字。另一个缺点是 Chapter 0 也将匹配。只匹配两位数字的更好的表达式如下:

* 、+限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。

例如,您可能搜索 HTML 文档,以查找括在 H1 标记内的章节标题。该文本在您的文档中如下:

<H1>Chapter 1 - 介绍正则表达式</H1>

贪婪: 下面的表达式匹配从开始小于符号 (<) 到关闭 H1 标记的大于符号 (>) 之间的所有内容。

非贪婪: 如果您只需要匹配开始和结束 H1 标签,下面的非贪婪表达式只匹配 <H1>。

如果只想匹配开始的 H1 标签,表达式则是:

通过在 *、+ 或 ? 限定符之后放置 ?,该表达式从"贪心"表达式转换为"非贪心"表达式或者最小匹配。

定位符使您能够将正则表达式固定到行首或行尾。它们还使您能够创建这样的正则表达式,这些正则表达式出现在一个单词内、在一个单词的开头或者一个单词的结尾。

正则表达式的定位符有:

⑨ 如何使用php验证代理服务器

如何验证代理服务器
代理服务器可以说不是很稳定,有的昨天用得还好好的,今天就不能用了,或者是要密码了,为了弄清楚该代理是否还是Free的,就要利用“代理猎手”的验证功能。代理猎手的右下方有8个按钮,第一个是“检验”、第二个是“检验全部”,我们可以按〔检验全部〕来验证列表中的所有代理是否可以使用,也可以在列表中选中一个或多个代理地址后,点击〔检验〕,只验证这几个代理是否可以使用。验证完毕后,点击列表的标题“验证状态”,可以把可用的代理服务器集中排列在列表的前面,方便查找。

⑩ PHP里面的登录验证问题

这个登录判断有问题,很不安全,。第一,密码不区分大小写,也就是大写和小写都会进去,所以要先根据用户名来做,先看用户名在不在,如果存在,就查询出密码,然后将查询的密码和你接过来的密码判断,。第二,session登录的话,要开启session,还要注册,然后给session变量赋值,第三,登录的时候看前面一个地址是不是你的登陆地址,防止别人暴力破解。。兄弟,祝你好运,。我说的地方你注意下就可以了。、

热点内容
c语言大学教程第六版 发布:2025-05-19 16:04:21 浏览:740
androidvr播放器 发布:2025-05-19 15:55:32 浏览:964
我的世界pc如何创建服务器 发布:2025-05-19 15:51:24 浏览:733
抢脚本 发布:2025-05-19 15:47:14 浏览:406
ct4哪个配置性价比最高 发布:2025-05-19 15:38:02 浏览:953
如何设置强缓存的失效时间 发布:2025-05-19 15:21:28 浏览:695
winxp无法访问 发布:2025-05-19 15:19:48 浏览:947
文件预编译 发布:2025-05-19 15:14:04 浏览:643
怎么在服务器上挂公网 发布:2025-05-19 15:14:02 浏览:272
济南平安e通如何找回密码 发布:2025-05-19 14:56:58 浏览:176