+ -
当前位置:首页 → 问答吧 → PHP 通过超链接传递一个SQL语句

PHP 通过超链接传递一个SQL语句

时间:2011-12-15

来源:互联网

select * from cart where date like '%2011-12-15%' and yes=1 order by date desc
上面是我要传递的SQL语句

为何传递过来用$_Request获取了以后 变成下面这个样子 

select * from cart where date like \' 11-12-15%\' and yes=1 order by date desc


哪位高手可以帮忙看一下 谢谢

作者: ycm_12345   发布时间: 2011-12-15

去转义呀 stripslashes()

不过你这样传递 sql 指令不觉得太危险了吗?
如果我把你的sql改成了 delete from cart 会成什么样子啦?

作者: xuzuning   发布时间: 2011-12-15

引用 1 楼 xuzuning 的回复:
去转义呀 stripslashes()

不过你这样传递 sql 指令不觉得太危险了吗?
如果我把你的sql改成了 delete from cart 会成什么样子啦?


能详细给写个代码看看吗?我只是想要这个功能,并不一定要写啊 呵呵 谢谢

作者: ycm_12345   发布时间: 2011-12-15

传递之前urlencode
接收端urldecode

或者传递后stripslashes

作者: ohmygirl   发布时间: 2011-12-15

引用 3 楼 ohmygirl 的回复:
传递之前urlencode
接收端urldecode

或者传递后stripslashes


你的意思是stripslashes(string) 这样吗?

作者: ycm_12345   发布时间: 2011-12-15

用过stripslashes(string)这个之后 不但“\”没了 ,而且“%”也没了 谁再帮忙看看啊

作者: ycm_12345   发布时间: 2011-12-15

$str = $_REQUEST['string'];
echo stripslashes($str);

作者: ohmygirl   发布时间: 2011-12-15

urlencode后再传递,不过不建义http传sql ,很不安全吧

作者: wxq41007982   发布时间: 2011-12-15

引用 7 楼 wxq41007982 的回复:
urlencode后再传递,不过不建义http传sql ,很不安全吧


能不能具体给个代码看看啊 我一头雾水的!

作者: ycm_12345   发布时间: 2011-12-15

第一次听传的参数为SQL语句...为安全性能擦汗

作者: godxiaocao   发布时间: 2011-12-15

$sql = urlencode($sql);

$sql = urldecode($_REQUEST['sql']);

作者: wxq41007982   发布时间: 2011-12-15

没有安全性 不建议使用些方法

作者: levinstong   发布时间: 2011-12-15