PHP笔试必备知识点:Cookie, Session, 文件上传与安全

需积分: 3 43 下载量 34 浏览量 更新于2024-08-02 收藏 159KB DOC 举报
"这是一份关于PHP笔试的复习资料,包含了PHP基础、HTTP协议、文件操作、SESSION和COOKIE管理以及一些Unix Shell和Web上传文件的相关问题。" 这份资料旨在帮助准备PHP笔试的人熟悉和掌握关键概念。以下是其中涉及的一些重要知识点: 1. **COOKIE和SESSION的联系和区别**: - COOKIE是存储在客户端(用户浏览器)的数据,数据量有限,且易被用户修改或清除。 - SESSION数据存储在服务器端,相对安全,但需要服务器生成并维护SESSION ID以跟踪用户状态。 - 多台Web服务器共享SESSION通常通过共享存储(如数据库、缓存服务)或使用负载均衡器来实现。 2. **HTTP协议中的POST和GET方法**: - GET用于获取资源,数据附在URL后面,可见且有长度限制。 - POST用于提交数据,数据在请求体中,对数据量无限制,相对更安全。 3. **PHP代码陷阱**:这可能涉及到一些边缘情况,如变量覆盖、类型转换或特殊字符处理等。理解PHP的弱类型特性及字符串、数组、引用的使用是解答这类问题的关键。 4. **require和include的区别**: - 两者都是用来包含文件,require在文件不存在或包含失败时会导致致命错误,而include只会发出警告。 - require_once和include_once会在执行前检查目标文件是否已被包含,防止重复加载。 5. **PHP中Web上传文件的原理**:通过HTTP请求的multipart/form-data编码方式,将文件内容和表单数据一并发送到服务器。服务器端使用PHP的$_FILES全局变量接收并处理上传文件,可以通过ini_set('upload_max_filesize')等设置上传大小限制。 6. **遍历文件夹**:PHP提供`scandir()`、`glob()`或递归函数来遍历目录下的文件和子目录。 7. **Unix Shell题目**:这部分可能涉及命令行操作,如grep、sed、awk等,用于处理文本文件和执行系统命令。 8. **mail.log文件处理**:这可能需要使用PHP的文件操作函数(如fopen(), fgets(), strpos()等)从文件读取内容,然后使用正则表达式过滤出指定格式的邮件地址。 9. **访问会话变量(session)**:正确的方式是通过`$_SESSION`超全局数组,选项E正确。 10. **设置Cookie**: - `setcookie()`函数用于设置Cookie,例如:`setcookie('foo', 'bar');` 11. **不同域名访问Cookie**: - 改变Cookie的域名只能在设置时通过`setcookie()`函数的第三个参数实现,选项C正确。 12. **表单元素访问**: - 在POST请求中,表单元素`email`的值可以通过`$_POST['email']`获取,选项B正确。 - `$_REQUEST`超全局数组可以同时获取GET和POST数据,但在此场景下,使用`$_POST`更合适。 13. **htmlentities()函数**: - 此函数用于将特殊字符转换为HTML实体,不会改变字符串长度,选项B正确。 这些知识点涵盖了PHP的基础和进阶内容,对于准备PHP笔试的人员来说,理解和掌握这些将有助于提高应试能力。