首页
学习
活动
专区
圈层
工具
发布

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

,然后再进行操作,而单引号则不需要判断) 2、常用的超全局变量(8个) $_GET ----->get传送方式 $_POST ----->post传送方式 $_REQUEST ----->可以接收到get...3.1表单中get和post提交方式的区别 get是把参数数据队列加到提交表单的action属性所指的url中,值和表单内各个字段一一对应,从url中可以看到;post是通过HTTPPOST机制,将表单内各个字段与其内容防止在...是致命的,而include不是 require_once表示了只包含一次,避免了重复包含 15、谈谈mvc的认识 由模型、视图、控制器完成的应用程序,由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图...16、 说明php中传值与传引用的区别,并说明传值什么时候传引用?...变量默认总是传值赋值,那也就是说,当将一个表达式的值赋予一个变量时,整个表达式的值被赋值到目标变量,这意味着:当一个变量的赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量

4K70

关于PHP安全编程的一些建议

如果有人关闭了他们浏览器的 JavaScript 功能或者提交自定义的表单数据,你客户端的验证就失败了。 用户主要通过表单参数和你的脚本交互,因此他们是最大的安全风险。你应该学到什么呢?...如果打开了 register_globals,你可以在你的 php.ini 文件中通过改变 register_globals 变量为 Off 关闭该功能: 微信图片_20191107152310.png...这会比通过$_POST['username'] 或 $_GET['username'] 访问它节省击键次数。...不幸的是,这也会给你留下安全问题,因为 PHP 会设置该变量的值为通过 GET 或 POST 的参数发送到脚本的任何值,如果你没有显示地初始化该变量并且你不希望任何人去操作它,这就会有一个大问题。...微信图片_20191107152905.png $_REQUEST 是 $_GET、$_POST、和 $_COOKIE 数组的结合。如果你有两个或多个值有相同的参数名称,注意 PHP 会使用哪个。

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

    安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用&后台模块&Session&Cookie&Token&身份验证&唯一性

    $_GET:收集URL中的发送的数据。也可用于收集提交HTML表单数据(method="get") $_FILES:文件上传且处理包含通过HTTP POST方法上传给当前脚本的文件内容。...$_ENV:是一个包含服务器端环境变量的数组。 $_COOKIE:是一个关联数组,包含通过cookie传递给当前脚本的内容。...2、服务器为客户端生成一个唯一的session ID,并将其存储在服务器端的存储器中(如文件、数据库等)。 3、服务器将生成的session ID作为一个cookie发送给客户端。...session_start(): 启动会话,用于开始或恢复一个已经存在的会话。 $_SESSION: 用于存储和访问当前会话中的所有变量。...5、访问方式不同: Cookie可以通过JavaScript访问,而Session只能在服务器端进行访问。 6、使用场景不同: Cookie一般用于存储小型的数据,如用户的用户名和密码等信息。

    89310

    一些开发规则

    ) 只是文档的更改 工具 Chore Chore: {工具内容/功能} (#issueID) 对构建或者辅助工具的更改 测试 Test Test: {测试功能/代码的调整} (#issueID) 添加或修正测试...注意:我自己是这样使用的:在JavaScript中,属性、变量和方法命名都使用字母大小写区分的方式;在php中,变量和方法命名使用下划线区分的方式。...附加表 类型 面向对象中动词使用 数据库 METHOD(restful) 增-CREATE add/create INSERT GET 查-READ get/list SELECT POST 改-UPDATE...(例:font-weight=>fontWeight) PHP 前端参数取得 参数取得需透过 filter_input 函数取得,不得使用 _GET、 _POST 输出到前台 参数命名必须为:全部小写,...注释 PHP 注释应该遵循 PHPDoc 的标准编写 成员变量 (Member) 成员变量只的是 Class 内的成员变量,我们都会要求替成员变量增加注释说明。

    69010

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

    预定义变量 预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组) $_GET:获取所有表单以get方式提交的数据 $_POST:POST提交的数据都会保存在此 $_REQUEST...:GET和POST提交的都会保存 $GLOBALS:PHP中所有的全局变量 $_SERVER:服务器信息 $_SESSION:session会话数据 $_COOKIE:cookie会话数据 $_ENV:...环境信息 $_FILES:用户上传的文件信息 可变变量 可变变量:如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值:在变量前面再多加一个$符号。...变量传值 将一个变量赋值给另外一个变量:变量传值 变量传值一共有两种方式:值传递,引用传递 值传递:将变量保存的值赋值一份,然后将新的值给另外一个变量保存(两个变量没有关系) ?...引用传递:将变量保存的值所在的内存地址,传递给另外一个变量:两个变量指向同一块内存空间(两个变量是同一个值) $新变量 = &$老变量; ?

    2.4K20

    100 个常见的 PHP 面试题

    但是,我们可以交换变量,因为PHP可以生成将由浏览器执行的Javascript代码,并且可以通过URL将特定的变量传递回PHP。 17) PHP处理图片需要添加什么扩展?...34) 如何使用 GET 方法访问通过 URL 发送的数据? 要访问通过 GET 方法发送的数据,我们使用 $ _GET 数组,如下所示: 1 2 www.url.com?...var=value $variable = $_GET["var"]; 现在将包含 'value' 35) 如何使用 POST 方法访问通过 URL 发送的数据?...可通过更改 php.ini 中的 upload_max_filesize 来更改要上传的文件的最大大小。 76)$ _ENV 是什么意思? 通过环境方式传递给当前脚本的变量的数组。...通过 HTTP Cookies 方式传递给当前脚本的变量的数组。 78)变量的作用域是什么意思? 变量的作用域定义了变量的环境上下文。在大多数情况下,PHP 变量只有一个变量域。

    24K50

    从多个基础CMS入坑代码审计

    这里的话可以发现这个face_pic3是在unlink函数下的,跟进这个变量会发现也只在这里提及,因此这里的话不存在过滤,此时如果这个else语句能执行,我们就可以通过控制这个变量来实现任意文件删除,...也是需要填写的,还有开始的变量lit_pic,这里post传入的也就是四个变量,这个时候先看看我们本地的文件 可以发现是有shell.php的,我们尝试删除它,即让lit_pic的值为它 此时查看本地...这个的话是get传参了一个变量r,这个r被addslashes函数包裹 然后把这个值赋给了file变量,此时有个三元运算符,如果变量file为空就令file等于index同时赋值给action变量,否则就令变量...虽然它被包裹在单引号中,但id的传参是直接get传参的,此时就剩下两个开头的包含文件了,如果包含的文件是没有过滤的话,那这里应该就是可以进行SQL注入的,查看这两个文件 conn.php内容如下 通过文件夹掌握其功能含义是我们首先需要做到的 区别的话就是有的程序员会把css单独作为文件夹(例如这里的xhcms),有的会把js文件单独作为文件夹(这里的bluecms),不过这些都是无关紧要的,

    1.1K90

    小白的代码审计初始之路

    这里的话可以发现这个face_pic3是在unlink函数下的,跟进这个变量会发现也只在这里提及,因此这里的话不存在过滤,此时如果这个else语句能执行,我们就可以通过控制这个变量来实现任意文件删除,...也是需要填写的,还有开始的变量lit_pic,这里post传入的也就是四个变量,这个时候先看看我们本地的文件 可以发现是有shell.php的,我们尝试删除它,即让lit_pic的值为它 此时查看本地...这个的话是get传参了一个变量r,这个r被addslashes函数包裹 然后把这个值赋给了file变量,此时有个三元运算符,如果变量file为空就令file等于index同时赋值给action变量,否则就令变量...虽然它被包裹在单引号中,但id的传参是直接get传参的,此时就剩下两个开头的包含文件了,如果包含的文件是没有过滤的话,那这里应该就是可以进行SQL注入的,查看这两个文件 conn.php内容如下 通过文件夹掌握其功能含义是我们首先需要做到的 区别的话就是有的程序员会把css单独作为文件夹(例如这里的xhcms),有的会把js文件单独作为文件夹(这里的bluecms),不过这些都是无关紧要的,

    95470

    从多个基础CMS中学习代码审计

    ,跟进这个变量会发现也只在这里提及,因此这里的话不存在过滤,此时如果这个else语句能执行,我们就可以通过控制这个变量来实现任意文件删除,此时看看上面语句 它是在act变量为edit_user_info...也是需要填写的,还有开始的变量lit_pic,这里post传入的也就是四个变量,这个时候先看看我们本地的文件 可以发现是有shell.php的,我们尝试删除它,即让lit_pic的值为它 此时查看本地...这个的话是get传参了一个变量r,这个r被addslashes函数包裹 然后把这个值赋给了file变量,此时有个三元运算符,如果变量file为空就令file等于index同时赋值给action变量,否则就令变量...虽然它被包裹在单引号中,但id的传参是直接get传参的,此时就剩下两个开头的包含文件了,如果包含的文件是没有过滤的话,那这里应该就是可以进行SQL注入的,查看这两个文件 conn.php内容如下的结构是比较相似的,我们可以看一下这两个CMS的结构 可以发现两者的结构是比较相像的,当我们掌握文件夹的功能时,就能够使得我们的代码审计轻松许多,因此通过文件夹掌握其功能含义是我们首先需要做到的区别的话就是有的程序员会把

    71310

    剖析中国 “ 菜刀 ”

    部分版本的菜刀结构比较全,有.ini的配置文件可以修改,可用来改变传输发送数据时的加密方式及其他的修改项(此功能可以对流量编码以绕过waf的动态检测)。...一句话木马 目前主流写网站的脚本语言基本有:PHP(最快建站),asp,aspx(APS.NET),python,java,javascript,Go等语言。...eval():将字符串当成可执行的脚本执行的一个函数,PHP脚本中类似的函数很多,不止eval()这一个可执行字符串函数。 $_POST['cmd']:取POST方式传参参数名为cmd的参数的值。...(菜刀就是一个工具:将cmd变量赋予不同的系统交互函数作为值,以POST方式传输该变量) 注:因为隐秘且传输量大,一般工具都是POST方式传参,所以一句话一般写$_POST这个传参方式即可。...(请注意GET方式传参也是可以的) 如何使用 1.首先找上传点想办法上传一句话木马 (此步骤不属于菜刀和一句话的讲解范畴。

    2.2K50

    【PHP快速入门】详细笔记---精简版

    函数来做安全机制 可变变量 外部变量 get传值 post 传值 $_REQUEST接收数据 全局变量名 功能说明 环境变量 变量引用 等于与全等于 逻辑运算 短路 博主昵称:一拳必胜客 博主寄语:...$_REQUEST即可以接收get传值也可以接收post传值。...全局变量名 功能说明 $_COOKIE 得到会话控制中cookie传值 $_SESSION 得到会话控制中session的值 $_FILES 得到文件上传的结果 $_GET 得到get传值的结果 $_POST...得到post传值的结果 $_REQUEST 即能得到get的传值结果,也能得到Post传值的结果 请再记一句话:以上这些变量全是超全局的。...可以这样理解,get传值在url中可见,而post传值在url中不可见。 而post传值在url中不可见,是通过浏览器的header头部份将数据发送给指定服务器的。

    11.1K20

    CTFshow之web入门---PHP特性上

    > 这里是三目运算符和取地址, 根据第一条可知,如果get传了一个值,那么就可以用post覆盖get中的值。...传参传入,v1必须通过post传参传入。...is_numeric() 函数用于检测变量是否为数字或数字字符串,如果指定的变量是数字和数字字符串则返回 TRUE,否则返回 FALSE,注意浮点型返回 1,即 TRUE。...call_user_func() 函数把第一个参数作为回调函数调用,通过这个函数可以将编码为16进制的V2重新变为一句话木马,v3通过伪协议写入1.php文件中内容,v1通过Post传参传入hex2bin...; } $$key=$$value; #此处将传入的传参名(键)和传参值(值)定义为变量,并使传参名(键)的数值等于传参值(值),通俗的说,就是咱们人工加入了一个变量,而且给予赋值

    62510

    一起来学PHP代码审计 | 新手入门篇

    . 1.多入口模式cms :每一个功能都需要访问不同的文件。...3.PHP的配置-变量相关配置 启用全局变量:register_globals = Off 某些程序如osc需要启用全局变量,这个设置的作用是关闭自动注册全局变量,在设置为On时、php会将$POST,...$GET,$COOKIE,$ENV,$SESSION数组中的$key=>$value直接注册为变量($POST['username']就会被注册为$username) 这会造成三个问题: 1.不知道变量从哪里来的...6.PHP的配置-常见的重要配置-错误信息 错误信息控制:display_error = On 是否将错误信息作为输出的一部分,站点发布后应关闭这个功能,以免暴露信息。...回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。 代码示例: php //?

    2.5K10
    领券