是安全的开关功能中使用未经过滤的$ _GET变量?

安全性如何它使用未经过滤的$_GET开关函数内直接变量,如下面的例子?

<?php switch ($_GET['sort']) { case "price": // Do something break; default: // Do something else break; } ?>

是否有可能危及我的应用程序的安全性,如果$_GET变量只有这个开关函数中出现在整个PHP脚本?

地址:对于这个问题,将一个未经过滤的$ _GET变量会导致比较操作在一个灾难性的失败的方式?

--------------解决方案-------------

它的罚款 ​​,以测试从值$_GET中的开关。 这是验证在其本身。 危险的是,当你让这种价值的工作的方式进入一个文件系统路径,或者数据库查询,或HTML块,或(战栗)eval'd代码没有上下文相适应的消毒。

它是唯一的不安全使用的结果_GET_POST ,或任何其他数据通过在由一个外部程序执行的代码,用户设置(例如,查询和exec()调用)。 呼应从用户接收到的数据也不安全如果不进行编码。

换句话说你在做什么是好的。

分类:php 时间:2015-03-15 人气:0
本文关键词: PHP,安全
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.273 (s). 9 q(s)