| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> 安全学习周报(2021-08-08~2021-08-14) -> 正文阅读 |
|
[PHP知识库]安全学习周报(2021-08-08~2021-08-14) |
杂文https://www.secpulse.com/archives/153442.html md5绕过,数组,MD5无法识别数组所以都会返回NULL PHP Session 变量当您运行一个应用程序时,您会打开它,做些更改,然后关闭它。这很像一次会话。计算机清楚你是谁。它知道你何时启动应用程序,并在何时终止。但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于 HTTP 地址不能维持状态。 通过在服务器上存储用户信息以便随后使用,PHP session 解决了这个问题(比如用户名称、购买商品等)。不过,会话信息是临时的,在用户离开网站后将被删除。如果您需要永久储存信息,可以把数据存储在数据库中。 Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。 上周补充:CSRF之所以能够使用token防御成功,我认为是因为在不同网页建立的session不同,从而$_SESSION[token]变量值也不同 AJAX(?Asynchronous JavaScript and XML)(异步的js和xml)AJAX是一种无需重新加载整个网页的情况下,能够更新部分网页的技术。 全局刷新工作原理1.必须由浏览器复制将请求协议包推送到服务端 2.导致服务端将响应协议包直接推送到浏览器的内存 3.导致浏览器内存中原有的数据被覆盖 4.导致此时浏览器展示数据时全部展示得到的响应数据,而无法展示原有的数据。 局部刷新工作原理1.必须禁止由浏览器向服务端发送请求【此时不能使用超链接,form,window.location】 2.浏览器内存中一个脚本对象代替浏览器将请求协议包发送到服务端 3.导致服务端返回的响应包直接推送到这个脚本对象上 4.从而变为脚本对象内容被覆盖,但是此时浏览器内存中的其他内容没有受到影响 5.开发人员从脚本对象中取出响应数据更新到浏览器中指定标签上。 6.此时浏览器在展示数据时,就可以既展示响应结果同时又可以展示原有的内容 AJAX开发步骤1.在浏览器内存中创建一个脚本对象,这个脚本对象就是异步请求对象 2.为异步请求对象添加工作状态监听器。帮助开发人员确认何时从异步请求对象身上得到服务端返回响应的数据 3.初始化异步请求对象。 ? ? ? 第一:通知异步请求对象采用何种方式发送请求协议包POST/GET ? ? ? 第二:通知异步请求对象本次要访问的资源文件地址 ? ? ? 第三:通知异步请求对象在其工作期间浏览器是否会等他【同步请求,异步请求】 4.命令(通知)异步请求对象代替浏览器发送请求 AJAX命令1.如何创建一个异步请求对象。一般将变量命名为xmlHttp var xmlHttp = new XMLHttpRequest(); 2.如何为其绑定工作状态监听器 一般来说监听器的形式为obj.监听器 = function() 这里为xmlHttp.onreadystatechange = function(){} 3.如何初始化 xmlHttp.open("post/get", "csdn.net/?uname = "smith", ture/false);true就是异步; 4.如何命令异步请求对象代替浏览器发送请求 xmlHttp.send(); 异步请求对象工作状态:5种(xmlHttp.readyState)0? ? ? ? ?异步请求对象已经被创建完毕(对应new的那一步) 1? ? ? ? ?异步请求对象已经被初始化完毕(对应open那一步) 2? ? ? ? ?异步请求已经发送了请求协议包。如果正常情况,此时服务端正在处理这个请求。在send? ? ? ? ? ? ? ?函数发送完后把状态改成2 3? ? ? ? ?异步请求对象已经得到服务端返回的响应包,此时异步请求对象正在解析响应包中的响应? ? ? ? ? ? ? 体内容 4? ? ? ? ?异步请求对象已经解析数据完毕,此时数据是符合脚本规范(这里不是很理解,什么是脚? ? ? ? ? ? ? ?本规范)。开发人员可以提取响应数据的数据。 如何从异步请求对象身上得到响应数据,进行局部刷新xmlHttp.onreadychange = function(){ ? ? ? ? ? ?//每当事件处理函数被调用时,都需要询问异步请求对象当前工作状态(来做相应操作) ? ? ? ? ? ?if(xmlHttp.readyState == 4 && xmlHttp.status = 200){//可能的确返回接受到数据,但是这? ? //个数据是异常,比如404 ? ? ? ? ? ? ? ? ?//读取响应数据 ? ? ? ? ? ? ? ? ?var data = xmlHtto.responseText; ? ? ? ? ? ? ? ? ? callBack(data); //一个自己命名的函数用于把响应数据更新到标签上 ? ? ? ? ? ? ?} }; function callBack(param){ ? ? ? ? ? ? ?$("div").text(parm); ?} 如果需要post数据则需要使用setRequestHeader()添加HTTP头,然后再send()种添加发送数据 xmlHttp.open("POST", "index.php", true); xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");//将所有字段? ? //编码 xmlHttp.send("fname=Bill&lname=Gates"); 此外需要注意Get方法提交数据时,可能使用的是缓存,也就是说数据更新了,但是仍然从缓存中提取数据。 getAllResponseHeaders();获得返回头部中的所有信息。 参考学习资料:动力节点的AJAX讲解和W3C的AJAX课程 |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 | -2025/2/27 5:43:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |