首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP经典面试题目汇总(上篇)

3.1表单中get和post提交方式的区别 get是把参数数据队列加到提交表单的action属性所指的url中,值和表单内各个字段一一对应,从url中可以看到;post是通过HTTPPOST机制,将表单内各个字段与其内容防止在...HTML的head中一起传送到action属性所指的url地址,用户看不到这个过程 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form...获取提交的数据 get传送的数据量较小,post传送的数据量较大,一般被默认不受限制,但在理论上,IIS4中最大量为80kb,IIS5中为1000k,get安全性非常低,post安全性较高 3.2 GET...16、 说明php中传值与传引用的区别,并说明传值什么时候传引用?...变量默认总是传值赋值,那也就是说,当将一个表达式的值赋予一个变量时,整个表达式的值被赋值到目标变量,这意味着:当一个变量的赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量

3.5K70

通过一道题目带你深入了解WAF特性、PHP超级打印函数、ASCII码chr()对应表等原理Easy Calc 1

文件 果然有点东西 PHP代码审计 error_reporting(0);关闭错误报告 通过GET方式传参的参数num show_source函数将文件内容显示出来 参数num的值赋值给变量...然而,攻击者可以使用URL编码或转义字符来将空格字符编码为有效的URL编码字符。 例如,使用URL编码,空格可以被编码为"%20"。...file_get_contents() 函数把整个文件读入一个字符串中。 字符串转ASCII码chr()对应表 为什么PHP可以识别ASCII码chr()对应表?...PHP可以识别ASCII码chr()对应表,是因为PHP是一种通用的服务器端脚本语言,它可以处理文本数据。...在PHP中,chr()函数可以将ASCII码转换为相应的字符。因此,在编写PHP程序时,我们可以使用chr()函数将ASCII码转换为相应的字符,以便在程序中使用它们。

31220
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    通过一道题目带你深入了解WAF特性、PHP超级打印函数、ASCII码chr()对应表等原理Easy Calc 1

    文件 果然有点东西 PHP代码审计 error_reporting(0);关闭错误报告 通过GET方式传参的参数num show_source函数将文件内容显示出来 参数num的值赋值给变量...然而,攻击者可以使用URL编码或转义字符来将空格字符编码为有效的URL编码字符。 例如,使用URL编码,空格可以被编码为"%20"。...file_get_contents() 函数把整个文件读入一个字符串中。 字符串转ASCII码chr()对应表 为什么PHP可以识别ASCII码chr()对应表?...PHP可以识别ASCII码chr()对应表,是因为PHP是一种通用的服务器端脚本语言,它可以处理文本数据。...在PHP中,chr()函数可以将ASCII码转换为相应的字符。因此,在编写PHP程序时,我们可以使用chr()函数将ASCII码转换为相应的字符,以便在程序中使用它们。

    34830

    通过一道题目带你深入了解WAF特性、PHP超级打印函数、ASCII码chr()对应表等原理Easy Calc 1

    文件 果然有点东西 PHP代码审计 error_reporting(0);关闭错误报告 通过GET方式传参的参数num show_source函数将文件内容显示出来 参数num的值赋值给变量...然而,攻击者可以使用URL编码或转义字符来将空格字符编码为有效的URL编码字符。 例如,使用URL编码,空格可以被编码为"%20"。...file_get_contents() 函数把整个文件读入一个字符串中。 字符串转ASCII码chr()对应表 为什么PHP可以识别ASCII码chr()对应表?...PHP可以识别ASCII码chr()对应表,是因为PHP是一种通用的服务器端脚本语言,它可以处理文本数据。...在PHP中,chr()函数可以将ASCII码转换为相应的字符。因此,在编写PHP程序时,我们可以使用chr()函数将ASCII码转换为相应的字符,以便在程序中使用它们。

    35840

    PHP 常量与变量

    【变量】       PHP 中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。 变量名与 PHP 中其它的标签一样遵循相同的规则。...一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。       变量默认总是传值赋值。那也就是说,当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。...['id'] 来代替 $id 从 URL http://www.example.com/test.php?...•超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量 •$GLOBALS — 引用全局作用域中可用的全部变量 •$_SERVER — 服务器和执行环境信息 •$_GET — HTTP GET...— HTTP 响应头 •$argc — 传递给脚本的参数数目 •$argv — 传递给脚本的参数数组 global 关键字       PHP 的全局变量和 C 语言有一点点不同,在 C 语言中,全局变量在函数中自动生效

    6.3K20

    最新PHP 面试、笔试题汇总(code happy)

    require_once,include_once表示了只包含一次,避免了重复包含 二十二、php中传值与传引用的区别,并说明传值什么时候传引用 变量默认总是传值赋值,那也就是说,当将一个表达式的值赋予一个变量时...,整个表达式的值被赋值到目标变量,这意味着:当一个变量的赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量 php也提供了另外一种方式给变量赋值:引用赋值。...使用引用赋值,简单地将一个&符号加到将要赋值的变量前(源变量) 对象默认是传引用 对于较大的数据,可以考虑传引用,这样可以节省内存的开销 二十三、PHP 不使用第三个变量实现交换两个变量的值 //方法一...PHP预定义变量(详见:https://www.php.net/manual/zh/reserved.variables.php) 超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量...$GLOBALS — 引用全局作用域中可用的全部变量 $_SERVER — 服务器和执行环境信息 $_GET — HTTP GET 变量 $_POST — HTTP POST 变量 $_FILES

    1.3K20

    这份PHP面试题总结得很好,值得学习

    3.1表单中get和post提交方式的区别 get是把参数数据队列加到提交表单的action属性所指的url中,值和表单内各个字段一一对应, 从url中可以看到;post是通过HTTPPOST机制,将表单内各个字段与其内容防止在...HTML的head中一起传送到action属性所指的url地址,用户看不到这个过程 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form...16、 说明php中传值与传引用的区别,并说明传值什么时候传引用?...变量默认总是传值赋值,那也就是说,当将一个表达式的值赋予一个变量时,整个表达式的值被赋值到目标变量,这意味着:当一个变量的赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量 php也提供了另外一种方式给变量赋值...Php配置文件中设置register_globals为off,关闭全局变量注册 控制错误信息,不要在浏览器上输出错误信息,将错误信息写到日志文件中。 23.PHP网站的主要攻击方式有哪些?

    5K20

    2021年最新PHP 面试、笔试题汇总(三)

    错误常量 和 位掩码 的对应关系 PHP配置文件中于错误相关的配置项 五十二、手动抛出错误 trigger_error() 例如: 输出:(如果抛出致命错误 E_USER_ERROR...在url中用get传值的时候,若中文出现乱码,应该用哪个函数对中文进行编码?...PHP预定义变量(详见:https://www.php.net/manual/zh/reserved.variables.php) 超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量 $...GLOBALS — 引用全局作用域中可用的全部变量 $_SERVER — 服务器和执行环境信息 $_GET — HTTP GET 变量 $_POST — HTTP POST 变量 $_FILES...$argc — 传递给脚本的参数数目 $argv — 传递给脚本的参数数组 count()和sizeof()的区别 两个函数都是用于获取数组的长度,sizeof()用法和count()完全一致

    1.2K30

    2021年最新PHP 面试、笔试题汇总(三)

    php两数组相加 两个数组相加,若数组中存在相同键值的元素,则只保留第一个数组的元素 设置时区 date_default_timezone_set("Asia/Shanghai"); 在url中用get...传值的时候,若中文出现乱码,应该用哪个函数对中文进行编码?...PHP预定义变量(详见:https://www.php.net/manual/zh/reserved.variables.php) 超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量 $...GLOBALS — 引用全局作用域中可用的全部变量 $_SERVER — 服务器和执行环境信息 $_GET — HTTP GET 变量 $_POST — HTTP POST 变量 $_FILES...$argc — 传递给脚本的参数数目 $argv — 传递给脚本的参数数组 count()和sizeof()的区别 两个函数都是用于获取数组的长度,sizeof()用法和count()完全一致

    99520

    PHP强化之22 - CGI、FastCGI与PHP-FPM

    接下来我们就以图形方式,解释这些概念之间的关系。 二、原理 在整个网站架构中,Web Server(如Apache)只是内容的分发者。...CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php、perl、tcl等。 WEB服务器会传哪些数据给PHP解析器呢?...URL、查询字符串、POST数据、HTTP header都会有。所以,CGI就是规定要传哪些数据,以什么样的格式传递给后方处理这个请求的协议。仔细想想,你在PHP代码中使用的用户从哪里来的。...这种方式可以让HTTP服务器专一地处理静态请求,或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。...Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。 4)FastCGI子进程完成处理后,将标准输出和错误信息从同一连接返回Web Server。

    73410

    Pikachu漏洞靶场系列之综合

    而如果设计者在完成该功能时,没有做严格的安全控制,则可能会导致攻击者通过该接口提交“意想不到”的命令,从而让后台进行执行,从而控制整个后台服务器。...因此,在web应用系统的功能设计上尽量不要让前端用户直接传变量给包含函数,如果非要这么做,也一定要做严格的白名单策略进行过滤。...filename=file1.php&submit=提交 从URL中得知,该PHP文件通过filename参数传递了需要包含的本地文件。...那么可以将前面序列化的结果传进去,此时会回显pikachu O:1:"S":1:{s:4:"test";s:7:"pikachu";} 这里可以结合反射型XSS漏洞,尝试弹框。...可以看到上面回显的pikachu被一对标签包裹,构造一下Payload pikachualert('xss') 用该XSS语句将前面序列化结果中的变量值替换掉

    1.1K20

    PHP常用配置

    当服务器需要非常长的时间来编译结果或完成某些计算时,这可能很有用。在这些情况下,可以利用这个特性想用户输出状态更新,而不是等待服务器完成整个过程后才输出。...url来访问使得服务器报错,然后从报错信息中得到服务器的文档路径,通过一定手段获取服务器上的敏感文件。...建议在函数定义中指定每个参数在函数调用时的传递方式,传值或传引用。...配置示例: arg_separator.output = "&" PHP产生URL的函数:http_build_query 6. arg_separator.input:PHP解析URL中的变量时使用的分隔符列表...引入了bug_compat_42, 当启用这个选项以后(默认启用), PHP将容许自动将SESSION中的变量做为全局变量使用.

    2.9K41

    PHP安全:变量的前世今生

    摘要 变量安全是PHP安全的重要部分,本文系统地分析了一个变量的“人生之旅”中存在哪些安全问题。变量的人生之路:传入参数→变量生成→变量处理->变量储存。...Part1 传入参数 传参是一个从前台通过GET或者POST方法传递参数的过程,在这里我们往往会遇到URL-WAF的安全判断。URL-WAF指的是对请求的URL进行一系列正则匹配进行判断的功能。...1、传参时使用畸形的HTTP方法,很多WAF只检查POST或者GET方法 ABCDEFG /lab_value/get.php?...Part2 变量生成 传入参数后,php会根据一定规则生成变量。 (1).服务器使用REQUEST获取参数,它可以通过POST和GET同时发包绕过部分WAF。...(2).服务器使用extract( )函数,把得到的变量中的键与值生成对应变量,可能会导致变量覆盖,从而造成安全问题。Ctf常用来覆盖白名单。

    1.7K20

    【黄啊码】为什么我建议您选择go,而不选择php?

    详细的区别语法区别:一、变量定义与赋值这里可以明显突出脚本语言与编译语言的语法差异PHP:弱类型变量,同一个变量可以随意赋值任何数据类型GO:强类型变量,变量需预定义,不能随意赋值不同数据类型二、函数定义与回传...PHP:try和catch可以友好的捕捉代码不规范的异常错误处理GO:与其它语言不同,panic如果不用recover()会使整个主程序退出不可用五、判断元素是否存在PHP比较精简,内置函数判断,GO判断显得有点不太人性化...PHP:extends关键词继承父类的方法和属性GO:struct结构体定义成员属性变量,从而实现继承性能区别我们在这用一台服务器配置配合apache测试一番服务器配置 : 16核 E5620 @ 2.40GHz...url重写,为了兼容php的项目PHP并发测试php的QPS大约是 1726/s, 最高2100/s 左右, cpu 高峰在50.1% 比较恐怖图片另外也测试了更多主键的批量查询, golang的处理能力降到...因多核利用,golang的”多线程”, 还有redis连接池, 使得go在和php并发对比中遥遥领先,处理能力大约是php的4倍其实也有不少开发者说可以用swoole框架加持php,但swoole的底层还是

    91730

    04_PHP基础——变量命名规则和预定义变量及可变变量

    变量命名规则 1、 在PHP中变量名字必须以“$”符号开始; 2、 名字由字母、数字和下划线“_”构成,但是不能以数字开头; 3、 在PHP中本身还允许中文变量(不建议)。 ?...预定义变量 预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组) $_GET:获取所有表单以get方式提交的数据 $_POST:POST提交的数据都会保存在此 $_REQUEST...:GET和POST提交的都会保存 $GLOBALS:PHP中所有的全局变量 $_SERVER:服务器信息 $_SESSION:session会话数据 $_COOKIE:cookie会话数据 $_ENV:...变量传值 将一个变量赋值给另外一个变量:变量传值 变量传值一共有两种方式:值传递,引用传递 值传递:将变量保存的值赋值一份,然后将新的值给另外一个变量保存(两个变量没有关系) ?...引用传递:将变量保存的值所在的内存地址,传递给另外一个变量:两个变量指向同一块内存空间(两个变量是同一个值) $新变量 = &$老变量; ?

    2K20

    SQL注入攻击与防御-第一章

    举个例子,当我们在线购物时,我们搜索价格低于100的商品时,在URL上面通过一个GET请求显示如下: http://www.shopping.com/products.php?...SQL注入 SQL注入是一种将SQL代码插入或者添加到应用的输入参数中的攻击,之后再将这些参数传递给后台的SQL服务器并加以解析执行。...示例: http://www.victim.com/products.php?val=100 注:这里为了方便演示URL参数的构造,使用GET传参。...val=100'OR'1'='1 这次,PHP脚本构造并执行的SQL语句将忽略价格而返回数据库中的所有商品。这是因为修改了查询逻辑。添加的语句导致查询中的OR操作符永远返回值为真。从而出错。...答:不能,只要在将输入传递给动态创建的SQL语句之前未经过验证,就容易潜在的受到攻击,除非使用参数化查询和绑定变量。

    1.1K20

    PHP预定义变量数组种类概览

    根据服务器不同,$_SERVER中的变量值和变量个数会有差别,不过一般都可以找到CGI1.1规范中定义的变量。...PHP预定义变量数组2、$_GET $_GET 超级全局变量包含使用GET方法传递的参数的有关信息。如果请求URL为[url]http://www.example.com /index.html?...UPLOAD_ERR_PARTIAL 文件只上传了一部分 UPLOAD_ERR_NO_FILE 上传表单中没有指定文件 PHP预定义变量数组6、$_ENV $_ENV超级全局变量提供PHP解析所在服务器环境的有关信息...,它记录了通过各种方法传递给脚本的变量,特别是GET ,POST 和 COOKIE 。...注册会话信息能为你提供便利,这样就能在整个网站中引用这些会话信息,而无需通过GET或POST显示的传递数据。

    1.5K90

    命令执行漏洞

    ]) 最nb的是可以使用URL编码进行绕过,因为服务器会自动解一层url编码,所以可以对过滤掉的字符进行一次url编码 过滤了分号,最后一条语句可以不带分号,结束的标志为’?...函数的返回值是命令的执行结果的最后一行 cp(from , to); 同linux的cp命令 题 get传参,传给变量c,在变量c中使用preg_match来匹配flag,如果没有flag,就执行变量c...传参时不加单引号的问题 _GET[1]和_GET[‘1’] $_GET[1]不加单引号可以起到php向下兼容的作用,但是后面可能会随着php版本更新取消这种写法 所以不确定php版本和是否被禁止,应该都试一遍...()函数返回由所有已经定义的变量所组成的数组 array get_defined_vars(void); 返回值:返回一个包含所有已经定义变量列表的多维数组,这些变量包括环境变量,服务器变量,和用户定义的变量...c=print_r(get_defined_vars()); 发现是通过post给这个数组传参,尝试加一个post值 post传参后回显 为了拿到array中的那个phpinfo()的字符串,rce

    31510

    Nginx葵花宝典—草根站长配置Nginx运维百科全书

    举例说明:若REQUEST_URI为//trip/t.php,则规范化后为/trip/t.php,Nginx将规范前的值存放在$request_uri中,而规范化后的值存放在$uri中。...nginx内置变量内置变量存放在  ngx_http_core_module 模块中,下面我来把这些变量分类记忆下,这里包括日常运维的内置变量讲解nginx地址栏系统内置变量匹配以https://www.zhoulujun.cn...$document_root 当前请求的文档根目录或别名——当前请求在root指令中指定的值。$args 这个变量等于GET请求中的参数。$query_string 与$args相同。...$request_body 客户端的请求主体,此变量可在location中使用,将请求主体通过proxy_pass, fastcgi_pass, uwsgi_pass, 和 scgi_pass传递给下一级的代理服务器...$request_method 这个变量是客户端请求的动作,通常为GET或POST。

    85120
    领券