新手问一下。下面的代码是安全的php代码吗?

bb2018 发布于 2016/02/29 22:16
阅读 587
收藏 0

新手问一下。下面的代码是安全的php代码吗?

刚自学了几天写了一个留言本。用的是下面的查询,增删数据库的语句。

现在开发完了想放到空间上去。问一下下面的操作是安全的php代码吗?

我还没有看php的正规。我看到有些代码用了一些正则什么的。

如果不是安全的。那安全的sql操作代码应该是什么样的?多谢

if(!empty($_POST['sub'])){
	$addtime=time();

	$sql="insert into `bbddd` (`infoid`,`infotitle`,`infotypeid`, `addtime`,`infocontent`,`hits`, `shenhe`, `add_ip`) 

values (NULL, '$_POST[infotitle]', '$_POST[infotypeid]', '$addtime', '$_POST[infocontent]', 0, '$shok', '$ip')";
	mysql_query($sql);
	echo "<script>alert('发布成功!现在返回首页');location.href='index.php';</script>";

}



/////////////////////////////////////////

<?php
		$sql = "select * from `ddtype`";
		$query = mysql_query($sql);
		while($rs = mysql_fetch_array($query))
		....

?>

////////////////////////////

<?php
if(!empty($_GET['type'])){
	$infotype = $_GET['type'];
	$sql = "select * from dddddddd as a, infoccctype as b where shenhe =1 and a.infotypeid=b.infotypeid and b.infotypeid 

= '$_GET[type]' order by infoid desc limit $select_from 	$select_limit";
	$query=mysql_query($sql);

	.....

?>


//////////////////////////////////////

if(!empty($_GET['id'])){
	$sql = "select * from bbbbbbbb as a, bbtype as b  where shenhe=1 and a.infotypeid = b.infotypeid and 

`infoid`='".$_GET['id']."'";
	$query = mysql_query($sql);
	$rs = mysql_fetch_array($query);

///////////////



加载中
1
Tuesday
Tuesday
非常安全. 
0
hellonetty
hellonetty

我觉得不安全

你采用了mysql_connect来实现数据库操作,最新版php7.0.x中mysql_connect已经被抛弃,最起码要用mysqli_connect来实现链接,为了更有效的预防sql注入,建议采用pdo来实现链接和查询操作。

详细请查看官方手册

http://php.net/manual/zh/function.mysql-connect.php

0
聽雨人
聽雨人

引用来自“Tuesday”的评论

非常安全. 
我差点就信了。

@楼主

用pdo,pdo prepare,不要自己拼接查询语句。
Tuesday
Tuesday
哈哈, 太天真.
0
曾建凯
曾建凯

非常不安全。

echo "<script>alert('发布成功!现在返回首页');location.href='index.php';</script>";

跳转为什么不用header跳转呢?

$sql="insert into `bbddd` (`infoid`,`infotitle`,`infotypeid`, `addtime`,`infocontent`,`hits`, `shenhe`, `add_ip`)
values (NULL,'$_POST[infotitle]','$_POST[infotypeid]','$addtime','$_POST[infocontent]', 0,'$shok','$ip')";



使用字符拼接的方式生成SQL,这里就很不安全。

看新版本的php的内容吧。

0
山里的孩子
山里的孩子
Never trust user input. 永远不要信任用户输入。
0
AlanShi
AlanShi

他们会用各种你想不到的方式去试探你的系统。

0
inuxor
inuxor

用户输入的东西要做过滤,这是最基本的安全要求。

你这段代码糟点太多

0
crazyYG
crazyYG
对于新手 我觉得还可以  慢慢来一步一步   按部就班   不要急  不能一口吃个胖子
0
返回顶部
顶部