您好,欢迎访问一九零五行业门户网

【分享】一种实用的处理表单参数和URL参数的方法,你想到了吗?

当你正在处理很多参数提交的时候,你可能会碰到数据库查询,插入等等的操作,
这时你需要转义或者实体化
对安全不了解的phper初学者,写查询语句是这样写的
$sql=select * from demo where user='.$_post['user'].';

那么就有sql注入的危险
一般有点经验的人写查询语句是这么写的
$sql=select * from demo where user='.addslashes($_post['user']).';
这样写没问题,就是
1、显得不专业
2、语句太多,每条都写,繁琐,难免遗漏
以我现在的掌握的知识再去写这条语句的话,我还是会写
$sql=select * from demo where user='.$_post['user'].';

but我不是初学者,
我会在表单处理文件开头加上一句话,
$_post=array_map(addslashes,$_post);
实际源码示例

打印出来的结果
array(2) { [user]=> string(4) demo [content]=> string(18) hello,it\'s a book}
回复讨论(解决方案) 请叫我活雷锋
如果表单有同名控件,那么 $_post=array_map(addslashes,$_post); 就玩完了
是吧?活雷锋
如果表单有同名控件,那么 $_post=array_map(addslashes,$_post); 就玩完了
是吧?活雷锋
表单同名控件指的是什么,可以举例说一下
最简答的就是复选框
答案1
答案2
答案3
虽然同名 text 控件可以设法回避掉
但复选框是绝对不能回避的
试了一下,果然,考虑不周,这个问题以后要注意一下了
最简答的就是复选框
答案1
答案2
答案3
虽然同名 text 控件可以设法回避掉
但复选框是绝对不能回避的
活雷锋好。
所以要这样写 $a = array( 'a' => a'b, 'b' => array(c'd, 123));array_walk_recursive($a, function(&$v) { $v = addslashes($v); });print_r($a);

array( [a] => a\'b [b] => array ( [0] => c\'d [1] => 123 ))

方法太好了,之前?想到。
感主分享。
果断收藏
所以要这样写 $a = array( 'a' => a'b, 'b' => array(c'd, 123));array_walk_recursive($a, function(&$v) { $v = addslashes($v); });print_r($a);

array( [a] => a\'b [b] => array ( [0] => c\'d [1] => 123 ))

就是写法报错了,提示错误
这位神仙 许久不见 我倒是挺想知道你那优雅的框架都有多少人下载 升级到什么版本了....另外javascript 有什么高深作品给膜拜膜拜?
这位神仙 许久不见 我倒是挺想知道你那优雅的框架都有多少人下载 升级到什么版本了....另外javascript 有什么高深作品给膜拜膜拜?
已经不执着于框架层面了,看到论坛上还有人在争论什么框架好、坏。
js插件可以去试试,弹窗的 http://tip.youyax.com/
其它类似信息

推荐信息