开发者社区> vip1888> 正文

PHP防止数据库字符串登录SQL注入攻击

简介: <?php header("Content-Type:text/html;charset=UTF-8"); // 数据库配置 include_once 'config.php'; // 获得传递参数 $user_name=isset($_request['user_name'])?$_reques.
+关注继续查看
<?php
header("Content-Type:text/html;charset=UTF-8");
// 数据库配置
include_once 'config.php';
// 获得传递参数
$user_name=isset($_request['user_name'])?$_request['user_name']:'';
$user_password=isset($_request['user_password'])?$_request['user_password']:'';
// 判断是否是非法字符串
// 防止SQL注入
if (empty($user_name)||empty($user_password)||!preg_match("/^[a-zA-Z0-9]{6,}$/", $user_name))
{
die('警告:输入错误!');
}
// 连接数据库
$conn=mysql_connect($Db_Server,$Db_User,$Db_Pwd);
// 判断连接是否成功
if (!$conn)
{
die("不能连接数据库,错误是: " . mysql_error());
}
// 数据库输出编码,应该与你的数据库编码保持一致。建议用UTF-8国际标准编码
mysql_query("set names 'utf8'"); 
// 打开数据库
$db_selected = mysql_select_db($Db_Name, $conn);
// 判断打开是否成功
if (!$db_selected)
{
die ("不能打开数据库,错误是: " . mysql_error());
}
// SQL语句
$sql ="select * from demo where user_name='".addslashes($user_name)."' AND password='".md5($user_password)."'";
// 查询SQL语句
$result = mysql_query($sql,$conn); 
// 判断是否有数据
if (!$result)
{
die("查询失败: " . mysql_error());
}
// 循环读取数据
while($row = mysql_fetch_array($result))
{
// 读数据
echo $row['content'];
}
// 使用完毕关闭数据库连接
mysql_close();
?>

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
PHP去掉名称字符串中的表情
PHP去掉名称字符串中的表情
11 0
PHP/Python/js/Golang/Java:时间转为人类可读的字符串格式:刚刚、几分钟前、几小时前、几天前
PHP/Python/js/Golang/Java:时间转为人类可读的字符串格式:刚刚、几分钟前、几小时前、几天前
22 0
PHP实现截取中文字符串不出现?号的解决方法
PHP实现截取中文字符串不出现?号的解决方法
19 0
PHP为什么需要字符串运算?底层原理是什么?
PHP为什么需要字符串运算?底层原理是什么?
27 0
PHP中的字符串有长度大小限制吗?为什么?
PHP中的字符串有长度大小限制吗?为什么?
49 0
PHP中的字符串是干什么的?底层原理是什么?
PHP中的字符串是干什么的?底层原理是什么?
41 0
PHP官方手册研读--数据类型:字符串
五一闲置在家,撸代码之余,读读“拍黄片”官方手册,巩固下“拍黄片”基础(PHP);
51 0
【web开发基础】PHP快速入门(5)-PHP运算符之算术运算符和字符串运算符详解
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是"+"。如在vb2005中运算符大致可以分为5种类型:算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符;PHP也同样包含这些运算符。 运算符和变量是所有计算机编程语言中的不可或缺的一部分,是一个命令解释器对一个或多个操作数(变量或数值)执行某种运算的符号,也称为操作符
74 0
php levenshtein,php字符串编辑距离
php levenshtein,php字符串编辑距离
50 0
PHP 零基础入门笔记(11):字符串 String
PHP 零基础入门笔记(11):字符串 String
56 0
+关注
vip1888
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
复杂PHP系统性能瓶颈排查及优化
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多