PHP 插入数据库处理和注意事项
PHP 插入数据库一般我们都会处理一下,一般会把一些字符转义,防止 SQL 注入和服务器入侵,PHP 自带了多个处理字符串的函数,我们一起来看看。
特殊字符转义
入库时
$str=addslashes($str);
$sql="insert into `tab` (`content`) values('$str')";
出库时
$str=stripslashes($str);
显示时
$str=htmlspecialchars(nl2br($str));
去首尾空格
对于标题、关键字和描述等字段的储存,我们必须去除字符串中的空格、换行和回车字符,保持纯文本的字符串即可。
function trans_string_trim($str){ $str = trim($str); $str = eregi_replace("'","''",$str); $str = stripslashes($str); return $str; }
过滤HTML代码
有时候用户提交数据中带有很多 HTML 标签,其实这些标签是没有用的,因为根本就没有给这些标签设置样式,仅仅是用户从别处复制来的,而最严重就是有人恶意提交代码,比如 Spam 提交很多评论,而这些内容中带有很多链接,我们可以通过 PHP 的 htmlspecialchars() 函数过滤掉这些不安全的标签。
function trans($string){ $string=htmlspecialchars($string); $string = ereg_replace(chr(10), "<br>", $string); $string = ereg_replace(chr(32), "", $string); return $string; }
更多字符串处理函数
显示在 WEB 页面,不过滤 HTML 代码;
function trans_web($string){ $string = ereg_replace(chr(10),"<br>",$string); $string = ereg_replace(chr(32),"",$string); return $string; }
显示在 WEB 页面,过滤 HTML 代码及头尾空格,主要用于显示用户昵称
function trans_trim($string){ $string = trim($string); $string = htmlspecialchars($string); $string = ereg_replace(chr(10),"<br>",$string); $string = ereg_replace(chr(32),"",$string); return $string; }
显示在 span 中;
function trans_span($string){ $string = ereg_replace(chr(10),"n",$string); $string = ereg_replace(chr(32),"",$string); $string = ereg_replace('"',""",$string); return $string; }
在 WEB 上显示 cookie 过滤 html
function trans_cookie($str){ $str = trans($str); $str = stripslashes($str); $str = eregi_replace("''","'",$str); return $str; }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论