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

程序员必须要了解网络协议HTTP,也许你只了解其中一部分

一、概念 URI URI 包含 URL 和 URN 二、HTTP 方法 客户端发送请求报文第一行为请求行,包含了方法字段。 GET 获取资源,当前网络请求中,绝大部分使用是 GET 方法。...PUT 上传文件,由于自身不带验证机制,任何人都可以上传文件,因此存在安全性问题,一般不使用该方法。...DELETE 删除文件,与PUT功能相反,并且同样不带验证机制。 DELETE /test.html HTTP/1.1 OPTIONS 查询支持方法,查询指定 URL 能够支持方法。...Path 标识指定了主机下哪些路径可以接受 Cookie(该 URL 路径必须存在于请求 URL 中)。以字符 %x2F ("/") 作为路径分隔符,子路径也会被匹配。...只能通过被 HTTPS 协议加密过请求发送给服务端。

64620

HTTP应知应会知识点复习手册(下)

在处理敏感数据请求时,通常来说,Referer 字段应和请求地址位于同一域名下,并无法保证来访浏览器具体实现,亦无法保证浏览器没有安全漏洞影响到此字段。...(三)要求用户输入验证码来进行校验。 SQL 注入攻击 1. 概念 服务器上数据库运行非法 SQL 语句,主要通过拼接来完成。 2....DELETE 删除文件 与 PUT 功能相反,并且同样不带验证机制。...Path 标识指定了主机下哪些路径可以接受 Cookie(该 URL 路径必须存在于请求 URL 中)。以字符 %x2F ("/") 作为路径分隔符,子路径也会被匹配。...在对安全性要求极高场景下,例如转账等操作,除了使用 Session 管理用户状态之外,还需要对用户进行重新验证,比如重新输入密码,或者使用短信验证码等方式。

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

Fortify Audit Workbench 笔记 Cross-Site Scripting-Persistent

尽管有一定价值, XSS 输入验证并不能取代严格输出验证。 应用程序可能通过共享数据存储或其他可信赖数据源接受输入,而该数据存储所接受输入源可能并未执行适当输入验证。...针对 XSS 漏洞进行验证最安全方式是,创建一份安全字符白名单,允许其中字符出现在 HTTP 内容中,并且只接受完全由这些经认可字符组成输入。...例如,有效用户名可能包含字母数字字符,电话号码可能包含 0-9 数字。...如果应用程序认定某些特殊字符为无效输入,那么您可以拒绝任何带有这些无效特殊字符输入。 第二种选择就是采用过滤手段来删除这些特殊字符。 然而,过滤负面作用在于,过滤内容显示将发生改变。...在需要完整显示输入内容情况下,过滤这种负面作用可能是无法接受。 如果必须接受带有特殊字符输入,并将其准确地显示出来,验证机制一定要对所有特殊字符进行编码,以便删除其具有的含义。

1.7K10

HTTP应知应会知识点复习手册(下)

在处理敏感数据请求时,通常来说,Referer 字段应和请求地址位于同一域名下,并无法保证来访浏览器具体实现,亦无法保证浏览器没有安全漏洞影响到此字段。...(三)要求用户输入验证码来进行校验。 SQL 注入攻击 1. 概念 服务器上数据库运行非法 SQL 语句,主要通过拼接来完成。 2....DELETE 删除文件 与 PUT 功能相反,并且同样不带验证机制。 DELETE /file.html HTTP/1.1 OPTIONS 查询支持方法 查询指定 URL 能够支持方法。...Path 标识指定了主机下哪些路径可以接受 Cookie(该 URL 路径必须存在于请求 URL 中)。以字符 %x2F ("/") 作为路径分隔符,子路径也会被匹配。...在对安全性要求极高场景下,例如转账等操作,除了使用 Session 管理用户状态之外,还需要对用户进行重新验证,比如重新输入密码,或者使用短信验证码等方式。

44150

HTTP协议基础总结

HTTP 请求报文包括: 请求行; 请求首部字段; 通用首部字段; 实体首部字段; 其他(可能包含 HTTP RFC 里未定义首部,如 Cookie 等); HTTP 响应报文包括: 响应行; 响应首部字段...但是,鉴于 HTTP/1.1 PUT 方法自身不带验证机制,存在安全风险,因此一般网站不使用该方法。...这只是规范,并不保证请求方法实现也是安全; GET 请求会把附加参数带在 URL 上,而 POST 请求会把提交数据放在报文内(request body)。...在浏览器中,URL 长度会被限制,所以 GET 请求能传递数据有限, HTTP 其实并没有对其作限制,都是浏览器在控制; HTTP 规定 GET 请求是幂等,而 POST 请求不是。...表示请求资源已经被分配了新 URL,请求资源已经被移动到了由 Location 头部指定 URL 上; 302 Found,临时重定向。所请求页面已经临时转移至新 URL

74130

Python 和 TOML:新最好朋友 (1) 了解TOML

现在,考虑一个井字游戏配置文件: player_x_color = blue player_o_color = green board_size = 3 server_url = https...server] url = "https://tictactoe.example.com" TOML 模式验证 在实践中,给定 TOML 文件也可能带有一些非语法要求。...目前,TOML不包含可以在TOML文档中指定必需和可选字段架构语言。存在几个提案,尽管目前尚不清楚是否会很快接受其中任何一个。 在简单应用程序中,您可以手动验证 TOML 配置。...这些键由 ASCII 字母和数字以及下划线和破折号组成。所有这些键都可以不带引号地编写,如上面的示例所示。 TOML 文档必须以 UTF-8 Unicode 编码。...时间戳由多个字段组成,由不同分隔符分隔。

35810

面试问你HTTP知识点?这篇搞懂秒杀90%知识点!

更多 POST 与 GET 比较请见第九章。 PUT 上传文件 由于自身不带验证机制,任何人都可以上传文件,因此存在安全性问题,一般不使用该方法。...与 PUT 功能相反,并且同样不带验证机制。...Path 标识指定了主机下哪些路径可以接受 Cookie(该 URL 路径必须存在于请求 URL 中)。以字符 %x2F ("/") 作为路径分隔符,子路径也会被匹配。...在对安全性要求极高场景下,例如转账等操作,除了使用 Session 管理用户状态之外,还需要对用户进行重新验证,比如重新输入密码,或者使用短信验证码等方式。 9....进行 HTTPS 通信时,服务器会把证书发送给客户端。客户端取得其中公开密钥之后,先使用数字签名进行验证,如果验证通过,就可以开始通信了。

93420

Flask表单之WTForms和flask-wtf

验证函数 说明 Email 验证是电子邮件地址 EqualTo 比较两个字段值; 常用于要求输入两次密钥进行确认情况 IPAddress 验证IPv4网络地址 Length 验证输入字符串长度...NumberRange 验证输入值在数字范围内 Optional 无输入值时跳过其它验证函数 DataRequired 确保字段中有数据 Regexp 使用正则表达式验证输入URL 验证url...你在一些字段中看到可选参数validators用于验证输入字段是否符合预期。DataRequired验证验证字段输入是否为空。更多验证器将会在未来表单中接触到。...默认情况下是用GET请求发送,几乎在所有情况下,使用POST请求会提供更好用户体验,因为这种类型请求可以在请求主体中提交表单数据, GET请求将表单字段添加到URL,会使浏览器地址栏变得混乱。...完善字段验证 表单字段验证器可防止无效数据被接收到应用中。 应用处理无效表单输入方式是重新显示表单,以便用户进行更正。

3.9K20

HTTP协议整理

URI与URL URI可以分为URL,URN或同时具备locators和names特性一个东西 URN作用就好像一个人名字,URL就像一个人地址。...传输编码优先级 User-Agent HTTP客户端程序信息 响应报文头 首部字段名 说明 Accept-Ranges 是否接受字节范围请求 Age 推算资源创建经过时间 ETag 资源匹配信息...请求头ACCEPT作用:浏览器端可以接受媒体类型 Accept: text/html 代表浏览器可以接受服务器回发类型为 text/html,也就是我们常说html文档,如果服务器无法返回...一般来说,我们创建资源时候用POST,更新资源时候用PUT,但是HTTP 1.1自身不带验证功能,幂等需要自己实现,所以大部分时候依然使用POST。...代理服务器只建立握手机制,本身不能读取数据内容,无论HTTPS还是HTTP都一样。

55610

黑客攻防技术宝典Web实战篇

白名单,确认机制接受任何与白名单匹配数据 净化:删除恶意字符或对其适当编码或“转义” 安全数据处理:可使用安全编程方法,如参数化查询(PDO)等 语法检查: 2.边界确认:服务器端应用程序每一个单独组件或功能单元将其输入当做来自潜在恶意亚涛输入对待...、密码修改、“记住我”等机制 5.密码修改功能 提供了详细错误信息,说明被请求用户名是否有效 允许攻击者无限制猜测“现有密码”字段验证现有密码后,检查“新密码”与“确认新密码”字段值是否相同...特别注意任何通过客户端传送、并不由用户直接输入数据 3.不安全证书存储 明文存储密码 简单加密 D.保障验证机制安全 1.考虑: 应用程序所提供功能安全程度 用户对不同类型验证控制容忍和接受程度...应严格审查应用程序代码库,以确定并删除任何跨站点脚本漏洞 不应接受用户提交,服务器并不认可任意令牌 在执行转账之类重要操作之前,要求进行两步确认或重新验证可有效防御跨站点请求伪造和其他会话攻击...这时,表示一个同样被提交字符串长度字段是我们测试主要目标 应用程序可能提交嵌入到二进制数据巨对象中整数值 C.格式化字符串漏洞 1.如果用户可控制输入被当做格式化字符串参数提交给一个接受可能被滥用格式说明符函数

2.2K20

python京东自动签到领金豆_github京东自动签到

Selenium是一个用于Web应用自动化程序测试工具,可以让浏览器自动加载页面,获取需要数据,Selenium自己不带浏览器,所以需要和PhantomJS、FireFox、Chrome等浏览器结合...2.输入用户名密码并登录 查找id=loginname元素,调用send_keys输入用户名;查找id=nloginpwd元素,调用send_keys输入密码;查找id=loginsubmit元素...(“%s 签到成功” %url)except:print(“%s 签到失败” %url)#用户登录 defuser_sign_in(driver):print(“用户签到”) url= “http://...本站提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。...发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193004.html原文链接:https://javaforall.cn

1.2K40

Http协议面试题

HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。 DELETE:删除文件,与PUT方法相反,删除对应URI位置文件。...区别二: get传输数据是通过URL请求,以field(字段)= value形式,置于URL后,并用"?"...区别三: Get传输数据量小,因为受URL长度限制,效率较高。 Post可以传输大量数据,所以上传文件时只能用Post方式。...Accept-Language:可接受自然语言 c、响应首部字段(响应报文会使用首部字段) Accept-Ranges:可接受字节范围 Location:令客户端重新定向到URI Server...不验证通信方身份,可能遭到伪装 无法验证报文完整性,可能被篡改 HTTPS就是HTTP加上加密处理(一般是SSL安全通信线路)+认证+完整性保护 12、Http优化 利用负载均衡优化和加速HTTP应用

23920

04. Web大前端时代之:HTML5+CSS3入门系列~Input新增类型

Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 1.tel:输入类型用于应该包含电话号码输入字段 2.url...:用于应该包含 URL 地址输入字段 - 提交表单时对 url 字段值自动进行验证 ?.../> 注意: 要带ftp:// http:// https:// 等等前缀头才可以 ?...7.range: 输入类型用于应该包含指定范围值输入字段 - range 类型显示为滑块 ? 8.日期检出器类型 HTML5拥有多个可供选则日期和时间新型文本输入框 date: 定义日期字段 ?...接受结果 ? month: 定义日期字段月 ? 接受结果 ? week: 定义日期字段周 ? 接受结果 ? time:定义日期字段时、分、秒 ? 接受结果 ?

57170

Django实现SSO

最近开发运维平台需要接入公司统一认证平台,实现单点登录。...单点登录实现原理 当用户(浏览器)访问我们服务(第三方应用)时, 服务首先判断用户是否已经登录(其实就是判断请求中是否有sessionid),如果没有登录,则重定向至认证服务器,重定向过程中将原始URL...认证服务器接受用户验证信息,如通过,则重定向至原始URL,并携带随机生成code信息。 服务获取code与原始URL请求后,再使用key和secret从认证服务器获取token。...中间件其实就是在捕获请求,在请求前判断用户是否已经登录,并获取token信息,创建session,在请求后保存session,并根据需要来删除cookie信息。...cookie,所以重定向至认证服务器进行认证 第二步:认证服务器重定向至原始访问页面,不带cookie,带有code 第三步:后台使用code从认证服务器获取token,获取token

3K30

面试小结汇总

2、SQL硬删除、软删除 所谓软删除(Soft Deleting),即在删除数据表中数据时,并不直接将其从数据表中删除,而是将其标志为删除,即在每张表中设置一个删除字段(如:IsDeleted)等,默认情况下其值为...0,及未删除状态;当需要将数据删除时,则将此字段更新为1。...7.2)是否可以输入它们混合搭配 8)输入红包钱数是不是只能输入数字 9)红包描述里允许能有多少个字符 10个 10)红包描述,金额,红包个数框里是否支持复制粘贴操作 11)红包描述里表情可以删除...get和post区别 (1)get请求参数有长度限制,post没有 (2)get请求参数在url上传输,post在请求正文中传输,post比get更安全 (3)get只能接受ascall码参数,而post...没有限制 (4)get参数会被保留到浏览器历史中,post不会 (5)get能被缓存,post不能被缓存 15、输入一个URL点击回车后全过程发生了什么 (1)URL解析判断URL是否合法,检查缓存,有就直接打开

59220

5个REST API安全准则

这是至关重要,因为您不希望Web服务管理被滥用: https://example.com/admin/exportAllData 这个URL是一个Web服务管理资源,其会话令牌或API密钥应作为...2 - 输入验证 帮助用户将高质量数据输入到您Web服务中,例如确保邮政编码对提供地址有意义,或日期有意义。 如果不是,拒绝该输入。...(1)网址验证 攻击者可以篡改HTTP请求任何部分,包括url,查询字符串,标题,Cookie,表单字段和隐藏字段,以尝试绕过网站安全机制。...常见输入篡改攻击常用名称包括:强制浏览,命令插入,跨站脚本,缓冲区溢出,格式字符串攻击,SQL注入,cookie中毒和隐藏字段操作。...403禁止 -当身份验证成功,身份验证用户没有权限使用请求资源。 404未找到 -当请求一个不存在资源。 405不允许方法 -意外HTTP方法错误检查。

3.7K10

MongoDB增删改查操作

1.5 删除文档 删除单个文档 查找到一条文档并且删除 返回删除文档 如何查询条件匹配了多个文档那么将会删除第一个匹配文档 User.findOneAndDelete({_id: '5c09f1e5aeb04b22f8460965...删除多个文档 如果没有给出删除文档 那么将删除所有文档 User.deleteMany({}).then(result => console.log(result)); ?...mongoose验证 在创建集合规则时,可以设置当前字段验证规则,验证失败就则输入插入失败。...// false验证失败 // v 要验证值 return v && v.length > 4...1.7 集合关联 通常不同集合数据之间是有关系,例如文章信息和用户信息存储在不同集合中,文章是某个用户发表,要查询文章所有信息包括发表用户,就需要用到集合关联。

19.8K30

从0开始构建一个Oauth2Server服务 安全问题

除非用户可以检查浏览器地址栏,否则该页面可能看起来与真正授权页面完全相同,并且用户可以输入他们用户名和密码。...重定向 URL 操作 Attacker可以使用属于已知良好应用程序客户端 ID 构造授权 URL将重定向 URL 设置为Attacker控制下 URL。...如果授权服务器不验证重定向 URL,并且Attacker使用“令牌”响应类型,则用户将返回到Attacker应用程序,URL 中包含访问令牌。...对策 授权服务器必须要求应用程序注册一个或多个重定向 URL,并且重定向到与先前注册 URL 完全匹配位置。 授权服务器还应该要求所有重定向 URL 都是 https。...由于这有时会成为开发过程中负担,因此在应用程序“开发中”时允许非 https 重定向 URL 并且只能由开发人员访问,然后要求将重定向 URL 更改为 https 也是可以接受应用程序发布并可供其他用户使用之前

17930
领券