免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2180 | 回复: 4
打印 上一主题 下一主题

Filter Functions 扩展学习碰到奇怪的问题...散分 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-17 17:24 |只看该作者 |倒序浏览
30可用积分

  1. <?php
  2.         if(filter_has_var(INPUT_GET, "id")) {
  3.                 echo "Exists";
  4.         }else{
  5.                 echo "Not exists";
  6.         }
  7.         $_POST['test'] = "test";
  8.         echo "<h3>Show '\$_POST' Variable list:</h3><pre>";
  9.         print_r($_POST);
  10.         if(filter_has_var(INPUT_POST, "test")) {
  11.                 echo "Exists";
  12.         }else{
  13.                 echo "<font color='red'> \$_POST['test'] Not exists? @_@!</font>";
  14.         }
  15. ?>
复制代码


看看运行的结果:

Exists
Show '$_POST' Variable list:
Array
(
    [test] => test
)
$_POST['test'] Not exists? @_@!

[ 本帖最后由 liuxingyuyuni 于 2008-4-18 14:51 编辑 ]

notice.JPG (44.53 KB, 下载次数: 48)

notice.JPG

论坛徽章:
0
2 [报告]
发表于 2008-04-18 09:04 |只看该作者

晕啊?

都没看到啊?

这是BUG?

论坛徽章:
0
3 [报告]
发表于 2008-04-18 09:16 |只看该作者
这不是BUG呀,这个结果很对呀,理论上
filter 是对INPUT_GET 或 INPUT_POST 进行的判断,不是$_GET,或$_POST进行的判断呀!
$_GET != INPUT_GET
$_POST!=INPUT_POST
再说,这个特性也符合安全上的习惯呀,
这个分太容易了.

论坛徽章:
0
4 [报告]
发表于 2008-04-18 10:48 |只看该作者
没见过这个扩展.
楼主的问题吧.永远不可能同时出现get/post两种方法提交的

论坛徽章:
0
5 [报告]
发表于 2008-04-18 14:47 |只看该作者

Thanks回复

感觉有这样的判断......

if($_SERVER['REQUEST_METHOD'] == 'POST') {
        // do something
}

别急着要分 :wink:

我很好奇.这个地方是怎么实现出来了.
=======================================================
filter 是对INPUT_GET 或 INPUT_POST 进行的判断,不是$_GET,或$_POST进行的判断呀!
$_GET != INPUT_GET
$_POST!=INPUT_POST
再说,这个特性也符合安全上的习惯呀,
========================================================
手册上解释如下:

INPUT_POST (integer)
POST variables.

INPUT_GET (integer)
GET variables.

所以我觉得正常情况下_GET == INPUT_GET 这样才对.

现在真有冲动看看这段实现代码的底层到底是什么了

哪位能把这段的C给扣出来大家看一下? [正好了解一下怎么读PHP的源代码]

不够狂加分.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP