guestbook.php注入,php防注入留言板(simple)

新手学php,试手案例便是留言板。以前未连接数据库时,我是直接将用户输入的留言写入到一个txt,然后再从txt读取显示(~.~别鄙视)。

最近学习了php访问MySQL数据库的一些知识,重写了一下留言板,功能比较简单,当学习记录。

1.首先是提交留言的表单guessbook.php,提交至post.php。

用户名

邮箱

2.数据库的连接config.php

$con = mysql_connect("localhost","user","passwd");

if(!$con)

die('Could not connect: ' . mysql_error());

mysql_query("set names utf8"); //以utf8读取数据

mysql_select_db("dbname",$con); //选择数据库

?>

3.对用户留言进行验证post.php

在我们把数据插入数据库时,为了让我们输入的数据在显示时仍然保持最初的形式,就必须对数据进行一些处理。比如转义单引号和双引号,以及转义我们输入的html标签:,空格,

等,如果不转义直接显示,比如js代码,就会直接在你的页面中运行。

这里用到了htmlspecialchars函数,他会将字符串中的html标签转义成对应的html字符,比如 ’

header("content-Type: text/html; charset=utf-8");

include("config.php"); //数据库连接

$name= $_POST['name'];

$email= $_POST['email'];

$patch = $_POST['content']; //获取游客提交信息

if ($name=="" || $email=="") //游客未填写用户名和邮箱处理

{

echo "";

}

else

{

// 对游客留言进行处理

$content = str_replace("","
",htmlspecialchars($patch));

//插入数据库语句

$sql = "insert into content (name,email,content,time) values ('$name','$email','$content',now())";

mysql_query($sql);

//插入成功,返回信息

echo "";

}

?>

4.展示用户留言列表,可在guessbook.php留言表单下面展示。

include("config.php"); //连接数据库

$sql="select * from content"; //数据库查询语句,content为该用户留言的表。

$result = mysql_query($sql,$con);

User Content Time

while ($row=mysql_fetch_array($result)) {

?>

}

?>

5.基本结果: 经CSS 修饰后的结果如下:

guestbook.php注入,php防注入留言板(simple)_第1张图片

asp防注入安全问题

一.古老的绕验证漏洞虽然古老,依然存在于很多小程序之中,比如一些企业网站的后台,简单谈谈.这个漏洞出现在没有对接受的变量进行过滤,带入数据库判断查询时,造成SQL语句的逻辑问题.例如以下代码存在问题: ...

dede留言板BUG解决

dede留言板刷新后空白BUG解决 DEDE留言板验证码留空或者不正确返回空白页面的解决方法 解决方法如下进入文件/plus/guestbook.php 找到代码ShowMsg("验证码不正 ...

Flask实战-留言板-安装虚拟环境、使用包组织代码

Flask实战 留言板 创建项目目录messageboard,从GreyLi的代码中把Pipfile和Pipfile.lock文件拷贝过来,这两个文件中定义了虚拟环境中需要安装的包的信息和位置,进入m ...

PHP SQL防注入

过年前后在做一个抽奖的东西,需要用户填写中奖信息,为了防止非法用户对数据库进行入侵神马的,于是写下基本的防注入语句,需要用的可以自己封装成一个function. $str = str_replace( ...

XSS留言板实现

XSS 留言板实现-笔记 预备知识 XSS漏洞 XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS ...

AngularJs学习笔记(制作留言板)

你可能感兴趣的:(guestbook.php注入)