filter_input()详解,$_GET,$_POST,$_ENV,$_SERVER,$_SESSION,$_REQUEST

filter_input() 函数从脚本外部获取输入,并进行过滤。

本函数用于对来自非安全来源的变量进行验证,比如用户的输入。

本函数可从各种来源获取输入:

  • INPUT_GET
  • INPUT_POST
  • INPUT_COOKIE
  • INPUT_ENV
  • INPUT_SERVER
  • INPUT_SESSION (Not yet implemented)
  • INPUT_REQUEST (Not yet implemented)

如果成功,则返回被过滤的数据,如果失败,则返回 false,如果 variable 参数未设置,则返回 NULL。

例如我们常常使用$_POST[‘id’]获取input中name=id的value

也可使用

filter_input(‘INPUT_POST‘,id),get和cookie都不多说了。说下ENV吧?有的会说ENV是神吗?

$_ENV(很少人用到的一个环境变量,因为环境不同而不同)

你可使用print_r($_ENV)查看具体内容,但是~~~有可能是空的哦,那是因为你的php.ini配置中

variables_order = “GPCS”

而GPCS是代表GET/POST/COOKIE/SERVER

你修改成variables_order = “EGPCS”就可查看环境变量了

贴出来我的电脑上环境使用print_r($_ENV)结果是

[APACHE_RUN_DIR] => /var/run/apache2 [APACHE_PID_FILE] => /var/run/apache2.pid [PATH] => /usr/local/bin:/usr/bin:/bin [APACHE_LOCK_DIR] => /var/lock/apache2 [LANG] => C [APACHE_RUN_GROUP] => www-data [APACHE_RUN_USER] => www-data [APACHE_LOG_DIR] => /var/log/apache2 [PWD] => /root

然后再继续回到$_SERVER上(虽然有的还看不懂,但是贴出来以后慢慢分析)

[HTTP_HOST] => zendstudy [HTTP_CONNECTION] => keep-alive [HTTP_CACHE_CONTROL] => max-age=0 [HTTP_USER_AGENT] => Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4 [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 [HTTP_ACCEPT_ENCODING] => gzip,deflate,sdch [HTTP_ACCEPT_LANGUAGE] => zh-CN,zh;q=0.8 [HTTP_ACCEPT_CHARSET] => GBK,utf-8;q=0.7,*;q=0.3 [PATH] => /usr/local/bin:/usr/bin:/bin [SERVER_SIGNATURE] => <address>Apache Server at zendstudy Port 80</address>

[SERVER_SOFTWARE] => Apache [SERVER_NAME] => zendstudy [SERVER_ADDR] => 127.0.0.1 [SERVER_PORT] => 80 [REMOTE_ADDR] => 127.0.0.1 [DOCUMENT_ROOT] => /var/www/zendstudy/public [SERVER_ADMIN] => [no address given] [SCRIPT_FILENAME] => /var/www/zendstudy/public/index.php [REMOTE_PORT] => 33639 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => / [SCRIPT_NAME] => /index.php [PHP_SELF] => /index.php [REQUEST_TIME] => 1358257020

$_REQUEST(使用GET或者POST的都可以使用这个获取到,为何不用呢?这个速度比较慢,所有一般不用的~)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏二次元

Linux下安装PHP环境

2821
来自专栏技术小讲堂

LINQ to SQL(2):生成对象模型

在LINQ to SQL中,可以使用自己的编程语言的对象模型映射到关系数据库,在上一节课,已经有一部分内容,简单的介绍了一下这种对象模型的结构,这一节,我们主要...

2884
来自专栏杨建荣的学习笔记

ASM无法启动的问题分析(二)(r7笔记第88天)

第一篇的内容可以参考。ASM无法启动的问题分析(一),有不少的朋友给了一些建议,我也糅合了进来。一并感谢。 当然重启服务发现CSSD服务是Online,但是AS...

40310
来自专栏乐沙弥的世界

使用 SQLNET.EXPIRE_TIME 清除僵死连接

    数据库连接的客户端异常断开后,其占有的相应并没有被释放,如从v$session视图中依旧可以看到对应的session处于inactive,且对应的服务器...

2972
来自专栏微信公众号:Java团长

抢红包案例分析以及代码实现

电商的秒杀、抢购,春运抢票,微信QQ抢红包,从技术的角度来说,这对于Web 系统是一个很大的考验. 高并发场景下,系统的优化和稳定是至关重要的.

4634
来自专栏程序员的酒和故事

C++工程中常用的宏定义(#define)

尽管说define有很多不足之处,很多时候我们需要使用const来替代define, 也可以使用typedef来替代define。 但是,在一些实际工程中,我们...

7806
来自专栏向治洪

android PakageManagerService启动流程分析

PakageManagerService的启动流程图 ? 1.PakageManagerService概述 PakageManagerService是andro...

53610
来自专栏北京马哥教育

20步打造最安全的Nginx Web服务器(上)

Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱(IMAP/POP3)代理服务器。它运行在UNIX,GNU/Linux,BSD各种版本,Mac ...

45911
来自专栏FreeBuf

EE 4GEE Mini本地提权漏洞(CVE-2018-14327)分析

我在前段时间从买了一个4G调制解调器。这是一个便携式4G WiFi移动宽带调制解调器。有一天,我查看了安装在电脑上的用于故障排除的服务,我看到了一个奇怪的服务,...

893
来自专栏蓝天

同时具备多线程和多进程安全的写日志工具

接口请浏览:https://github.com/eyjian/mooon/blob/master/mooon/include/mooon/sys/log.h ...

2614

扫码关注云+社区

领取腾讯云代金券