php 账号互联
程序员文章站
2022-04-22 22:42:08
...
很简单的账号互联,留给需要的人吧。
<?php /* 本页面做的匆忙(2015年9月23日19:45:30),注意修改一些代码再使用,避免出现安全隐患。 使用方法,向本页POST数据,分别为sign(用户名或邮箱)和password 本页会返回Json,成功登陆会返回一些用户信息,code每个状态会不同 code为0时 POST数据不完整 code为1时 账户不存在 code为2时 用户名或密码错误 code为3时 成功登陆,并附带相关用户信息 */ @$sign=addslashes($_POST['sign']); @$password=addslashes($_POST['password']); $status=array(); if($sign==null||$password==null){ $status['code']=0; echo json_encode($status); exit(); } // =====相关配置====== $db_server='localhost'; //Mysql地址 $db_name='db'; //Mysql数据库名 $db_user='root'; //Mysql用户名 $db_password=''; //MySQL密码 $db_port=3306;//Mysql端口,通常不需要修改 $login_table='user'; //用户表表名 $login_sign='name'; //用户表用户名或邮箱字段 意思就是用户名登陆或者邮箱登陆 $login_password='password'; //用户表密码字段 //另外58行还有一个密码加密方式需要自定义下 class mysql extends PDO{ public $server; public $database; public $user; public $password; public $sql; public function __construct($server,$database,$user,$password,$port=3306){ $this->server = $server; $this->database = $database; $this->user = $user; $this->password = $password; parent::__construct("mysql:host=$server;port=$port;dbname=$database",$user,$password); $this->query('SET NAMES utf8'); } public function fetchall($sql){ $return = array(); $re = $this->query($sql); while($row = $re->fetch(PDO::FETCH_ASSOC)){ array_push($return,$row); } return $return; } } $DB= new mysql($db_server,$db_name,$db_user,$db_password,$db_port); $res=$DB->fetchall('select * from '.$login_table.' where '.$login_sign.'="'.$sign.'"'); if(count($res)==0){ $status['code']=1; echo json_encode($status); exit(); } $encode_pwd=md5($password); //这里修改你密码的加密方式 if($encode_pwd!=$res[0][$login_password]){ $status['code']=2; echo json_encode($status); exit(); } unset($res[0][$login_password]); $res[0]['code']==3; echo json_encode($res);
上一篇: Vue.js异步更新DOM策略及nextTick实例详解
下一篇: 图文详解HTML骨架结构