首页 / PHP / 在php中输入卫生设施
在php中输入卫生设施
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在php中输入卫生设施,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1058字,纯文字阅读大概需要2分钟。
内容图文
![在php中输入卫生设施](/upload/InfoBanner/zyjiaocheng/764/cd29cb976d5d46199c79decbdfcac655.jpg)
我知道sql注入已经在stackoverflow上讨论了很多次.
使用此方法有什么缺点
foreach($_POST as &$value)
$value = mysql_real_escape_string($value);
它只有两行,看起来使用起来非常方便,但我认为这不是一个非常常用的方法.
并且请不要将讨论转变为准备好的陈述和PDO,即使它可能被认为是最佳实践.
解决方法:
使用此代码的主要缺点是您正在修改POST数组中的数据.这可能会影响稍后对POST数组的操作(如输出到屏幕).如果您正在与其他程序员合作,他们可以合理地期望POST阵列保持不变,这也可能导致混淆.由于上一个原因,它还可能使代码维护更加困难.任何处理代码的人都需要知道你修改了POST数组.
我的建议是,如果你开始使用mysql_real_escape_string而不是参数化查询,那就是确保你将它与sprintf和正确的类型说明符结合使用,如下所示:
$query = sprintf("INSERT INTO purchases (amount, num_items, prod_descrip)
VALUES (%f, %d, '%s')",
mysql_real_escape_string($_POST['amount'])
mysql_real_escape_string($_POST['num_items'])
mysql_real_escape_string($_POST['prod_descrip']));
请注意,%f适用于float,%d适用于整数,%s适用于字符串值.另请注意,我在查询字符串中直接使用$_POST数据而没有任何类型的验证,我在实践中不会这样做(仅为了简单起见).
内容总结
以上是互联网集市为您收集整理的在php中输入卫生设施全部内容,希望文章能够帮你解决在php中输入卫生设施所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。