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