PHP网站认证插件开发,主要是便于对网站会员的管理,典型网站如:支付宝,淘宝网,猪八戒,时间财富网的各种认证等。。PHP网站认证有不少,包括身份认证,邮箱,手机认证,支付认证等等,通常的CMS都会提供这类插件,没有,只有本身自定义。 php
下面是实例介绍 html
一 PHP/ 身份证明名认证示例代码 json
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
<!--?php
// +----------------------------------------------------------------------
// | JuhePHP [ NO ZUO NO DIE ]
// +----------------------------------------------------------------------
// | Copyright (c) 2010-2015
http://juhe.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: Juhedata <info@juhe.cn-->
// +----------------------------------------------------------------------
//----------------------------------
// 身份证明名认证 - 聚合数据
// 在线接口文档:
http://www.juhe.cn/docs/103
//----------------------------------
header('Content-type:text/html;charset=utf-8');
//配置您申请的appkey
$appkey = "*********************";
//************1.真实姓名和身份证号码判断是否一致************
$url = "
http://op.juhe.cn/idcard/query";
$params = array(
"idcard" => "3303291989********",//身份证号码
"realname" => "东好帅",//真实姓名
"key" => $appkey,//应用APPKEY(应用详细页查询)
);
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['error_code']=='0'){
if($result['result']['res'] == '1'){
echo "身份证号码和真实姓名一致";
}else{
echo "身份证号码和真实姓名不一致";
}
#print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "请求失败";
}
//**************************************************
/**
* 请求接口返回内容
* @param string $url [请求的URL地址]
* @param string $params [请求的参数]
* @param int $ipost [是否采用POST形式]
* @return string
*/
function juhecurl($url,$params=false,$ispost=0){
$httpInfo = array();
$ch = curl_init();
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
if( $ispost )
{
curl_setopt( $ch , CURLOPT_POST , true );
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
curl_setopt( $ch , CURLOPT_URL , $url );
}
else
{
if($params){
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
}else{
curl_setopt( $ch , CURLOPT_URL , $url);
}
}
$response = curl_exec( $ch );
if ($response === FALSE) {
//echo "cURL Error: " . curl_error($ch);
return false;
}
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
curl_close( $ch );
return $response;
}
|
验证手机号码咱们都是利用php正则表达试验证了,手机号的规则是长度11位而后是13,15,18等等开头,这个咱们只要加以分类规划并可实现完美手机号码验证正则了。 app
你们都应该有这个常识,中国的手机号码都是以数字“1”开头,而后利用“0~9”10个数字组成的11位数字组合,那么咱们的验证规则确定要根据这个思路来写。 curl
根据上面的简单思路,咱们即可以写下如下的验证代码,代码以下: 函数
- <?php
- //本代码仅仅是提供一些思路
- //距离实际应用还有一些距离
- $mobile = '15858588585';
- //下面的1即是手机的第一位数字必须为数字1
- //[0-9]指后面的数字均为0~9的数字
- //{9}这中间的9指的是手机号码除了第一位数外,其余要重复10次,恰好就是11位数了
- if(!preg_match('/^1([0-9]{9})/',$mobile)) exit('您的手机号码不正确');
- ?>
但上面的代码显然是不够严谨的,由于这样,即便“18888888888”这样的手机号码也能经过验证了,所以咱们还要对其进行更为严格的验证,在严格以前请让咱们先来看看中国常见的手机号码前三位都有那些: post
移动手机号码:13四、13五、13六、13七、13八、13九、150、15一、157(TD)、15八、15九、18七、188 网站
联通手机号码:130、13一、13二、15二、15五、15六、18五、186 ui
电信手机号码:13三、15三、180、18九、(1349卫通) url
那么根据上面的特征,咱们就能够将代码修改为这样的规则了,代码以下:
- <?php
- function checkMobile($str)
- {
- $pattern = “/^(13|15)d{9}$/”;
- if (preg_match($pattern,$str))
- {
- Return true;
- }
- else
- {
- Return false;
- }
- }
- //调用函数
- $str = checkMobile(“15800000001″);
- if($str)
- {
- echo(“符合手机号码标准”);
- }
- else
- {
- echo(“不符合手机号码标准”);
- }
- ?>
上面只能骓13,15开头的,若是有新段就不行了,咱们可加以修改,代码以下:
- function is_mobile($str){
- return preg_match("/^(((d{3}))|(d{3}-))?13d{9}$/", $str);
- }
这样就能够验证全部的手机号码了.
触类旁通,使用PHP还能够写邮箱,支付类的认证插件等等,代码省略。adiOS