使用PHP实现WEB网站登陆后台编写

分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/xiaohei

使用PHP实现WEB网站登陆后台编写

####html页面,没加入CSS代码:

换一个?

使用PHP实现WEB网站登陆后台编写_第1张图片

####利用正则表达式过滤一些非法字符:$pattern = ‘/’|<|>|"|#|&|%/’;

####防范SQL注入攻击使用PDO类连接数据库,这里我用的是mysql,地址和端口我就用本地的了。

try {
$db = new PDO('mysql:host=127.0.0.1:3306;dbname=name','username','password');
}catch (PDOException $e)
{
    echo "";
}

###对用户输入的用户名和密码进行校验。

if (isset($_POST['submit'])) {
        if(isset($_REQUEST['authcode'])){
            session_start();
            //strtolower()小写函数
            if(strtolower($_REQUEST['authcode'])== jiemi(jiemi($_SESSION['authcode']))){
                $id=strip_tags(trim(htmlspecialchars($_POST['id'])));
                $password=htmlspecialchars(strip_tags($_POST['password']));

                if (empty($id) || empty($password)) {
                    echo "";
                } else if (preg_match_all($pattern, $id) || preg_match_all($pattern, $password)) {
                    echo "";
                } else if(strlen($password)>21) {
                    echo "";
                } else{
                    $search = $db->prepare("select username from information where id={$id} and password='$password'");
                    $search->execute();
                    $arr = $search->fetch();
                    $username = $arr[0];
                    if ($username != null) {
                        $db = null;
                        setcookie('id',jiami($id));
                        echo "";
                    } else {
                        $db = null;
                        echo "";
                    }
                }
            }else{
                //提示以及跳转页面
                echo "";
            }
            exit();
        }

###验证码的实现将在下一篇文章中给出。这里是用PDO实现防SQL注入,并对cookie进行加密,加密算法是自己写的,这里暂不透露,不过SQL内部没有进行加密,所以还是有数据泄露风险的。而验证码纯粹是为了防止穷举密码攻击。
###这里还留了一个漏洞没有防范,不知道有没有眼尖的小伙伴发现呢?

你可能感兴趣的:(网络安全,PHP,WEB)