<?php
namespace Home\Controller;
use Symfony\Component\Console\EventListener\ErrorListener;
use Think\Controller;
use Org\Net\IpLocation; //加载ip类
class LoginController extends Controller {
//登录方法
public function index(){
if(IS_POST){
$name = I('post.username');
$password = I('post.pwd');
$data['user_name'] = $name;
$user = M('user')->where($data)->find();
$salt = $user['salt'];
$pwd = $user['password'];
$user_id = $user['user_id'];
$where['user_id'] = $user_id;
$ip = get_client_ip();
$location = new IpLocation('UTFWry.dat');
$area = $location->getlocation($ip);
$data['login_time'] = time();
$data['last_time'] = $user['login_time'];
$data['login_area'] = $area['country'].".".$area['area'];
$data['last_area'] = $user['login_area'];
$data['login_ip'] = $area['ip'];
$data['last_ip'] = $user['login_ip'];
if(sha1(MD5($password).$salt)==$pwd){
M('user')->where($where)->save($data);
session('user_name',$name);
session('user_id',$user_id);
$this->redirect('Index/index','',1,'登陆成功!');
}else{
redirect('index', 1, '登录失败,页面返回中...');
}
}else{
$this->display();
}
}
//注册方法
public function register(){
if(IS_POST){
$name = I('post.username');
$password = I('post.pwd');
$password1 = I('post.pwd1');
if($password!=$password1){
echo "<script>alert('确认密码错误');</script>";
redirect('register', 1, '页面跳转中...');
}
$ip = get_client_ip();
$location = new IpLocation('UTFWry.dat');
$area = $location->getlocation($ip);
$salt = substr(MD5(time()),0,6);
$pwd = sha1(MD5($password).$salt);
$data['user_name'] = $name;
$data['password'] = $pwd;
$data['salt'] = $salt;
$data['reg_time'] = time();
$data['login_time'] = time();
$data['login_ip'] = $area['ip'];//获取当前登录ip
$data['login_area'] = $area['country'].".".$area['area'];//获取当前登录地区
$user_id = M('user')->add($data);
if($user_id){
session('user_name',$name);
session('user_id',$user_id);;
$this->redirect('Index/index','',1,'注册成功!');
}else{
redirect('index', 1, '注册失败,页面返回中...');
}
}else{
$this->display();
}
}
//退出登录
public function loginOut(){
session('user_name',null);
session('user_id',null);
redirect('index', 1, '页面跳转中...');
}
}
PS:在获取ip、地址时要注意把UTFWry.dat文件放入框架..\ThinkPHP\Library\Org\Net目录下
thinkphp3.2 注册登录(ip地址、加盐加密)
最新推荐文章于 2022-09-29 16:20:15 发布