问题标签 [protected-resource]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Node.js 不会在 Chrome 上呈现,但会在带有 JWT 身份验证的 Postman 上呈现
我有一个登录注册页面。在注册部分,用户可以注册并且应该进行身份验证并获得存储在本地存储中的令牌。在该用户将被重定向到带有令牌的个人资料页面之后,但在重定向之前,因为个人资料页面受到保护。应验证令牌。
如果经过验证,它应该呈现个人资料页面,但它没有呈现,我不知道为什么。这甚至吐出任何错误。但这是奇怪的部分:当我创建一个用户帐户时,我记录了 JWT 令牌并复制它,通过 Postman 使用它,将令牌附加到标题上,然后使用它将呈现 HTML 的配置文件路由。但在 Chrome 上,它没有。
这是我制作的视频:https ://www.youtube.com/watch?v=ufkor1eVxx8
这是注册时的代码。(我会重构一切)。
这是路由配置文件的代码:
这是验证令牌的代码:
debugging - 我可以告诉 valgrind 在将来访问特定范围的内存时警告我吗?
我知道即使操作系统没有,valgrind 也可以通过某种神奇的工具注意到对内存的无效访问。
我的问题:我可以告诉它,在运行时并假设我的程序由 valgrind 运行,开始监视(写入)对某个内存区域(我在运行时指定)的访问吗?所以当这个访问发生时,valgrind 会脱口而出一些东西,以及堆栈跟踪?
excel - 使用 VBA-Excel 从受保护的网站下载文件
我正在尝试从受保护的网页下载文件(来自我的工作,所以我无法发布网址)。
当我在 .xls 中保存字节(我正在使用 WinHTTP 请求)时,文件似乎已损坏。
我的代码(没有敏感信息)和“HTTP Header Live”采用的一些代码。
代码运行。我在所有检查状态下都得到“OK”,但是当我尝试打开文件(有 622kb,与手动下载相同)时,Excel 会提示我一条消息,指出单元格的数据过多。如果我点击“仍然打开”,我可以阅读一些部分。
看起来文件正在以不同的编码保存。
来自 HTTP Header Live 的一些代码。
登录:
https
://www.website.com/retro/logincheck.asp 主机:www.website.com
用户代理:Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9, / ;q=0.8
Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q =0.3
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 38
Origin: https://www.website.com
Connection: keep-alive
Referer: https:// /www.website.com/retro/default.asp?idioma=ES
Cookie:cc_social=yes;cc_analytics=是;cc_advertising=是;cc_necessary=是;_ga=GA1.2.859443177.1570897852; __utma=136336428.859443177.1570897852.1570897852.1570897852.1;__utmz=136336428.1570897852.1.1.utmcsr=google|utmccn=(有机)|utmcmd=有机| utmctr=(未提供%20); ASPSESSIONIDQWSBSQAD=LDIIIENCGKDHMEJEGKJKBDMM; cookieconsent=解雇;ASPSESSIONIDQWQCRRBD=PCOIENHDNLHCKNODMJLKAFGM
Upgrade-Insecure-Requests: 1
txtUser=MYUSER&txtpwd=MYPASS&lg=es
POST: HTTP/2.0 302 发现
日期: Wed, 04 Dec 2019 22:20:17 GMT
server: Microsoft-IIS/8.5
cache-control: private
content -type: text/html
expires: Wed, 04 Dec 2019 22:20:18 GMT
位置:retro.asp
内容长度:130
via:2.0 www.website.com
X-Firefox-Spdy:h2
文件:
https: //www.website.com/retro/VerBorderoGRxls.asp? id=27348&p=3º Trimestre 2019&n=0&m=UNKNOWN&con=CIRCULAR&fmt=xls
主机:www.website.com
用户代理:Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9, / ;q=0.8
Accept-Language: es-ES,es ;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.website.com/retro/borderos_resumen.asp
Cookie:cc_social=yes;cc_analytics=是;cc_advertising=是;cc_necessary=是;_ga=GA1.2.859443177.1570897852; __utma=136336428.859443177.1570897852.1570897852.1570897852.1;__utmz=136336428.1570897852.1.1.utmcsr=google|utmccn=(有机)|utmcmd=有机| utmctr=(未提供%20); ASPSESSIONIDQWSBSQAD=LDIIIENCGKDHMEJEGKJKBDMM; cookieconsent=解雇;ASPSESSIONIDQWQCRRBD=PCOIENHDNLHCKNODMJLKAFGM
升级-不安全-请求:1
GET:HTTP/2.0 200 OK
日期:2019 年 12 月 4 日星期三 22:21:40 GMT
服务器:Microsoft-IIS/8.5
缓存控制:私有
内容类型:应用程序/x-msexcel
过期:2019 年 12 月 4 日,星期三 22:格林威治标准时间 21:40
内容长度:637440
通过:2.0 www.website.com
X-Firefox-Spdy:h2
security - SAML 保护资源
我正在尝试使用 SAML 保护资源。有三个参与者在起作用:身份提供者(IDP,我无法控制)、服务提供者(SP,我碰巧使用的是 spring-security-saml,但这个问题并不特定于此)和受保护资源(PR ,SP 之外的服务中的一些受保护端点)。
我需要支持两种情况:
- 用户第一次尝试访问 PR,没有任何类型的会话。
- 用户在之前访问过 PR 时尝试再次访问它。
关于方案 1 的工作方式有充分的指导,因为它是我所看到的使用 SAML 的标准方法。不过,场景 2 似乎不太标准,我还没有找到任何关于如何处理它的明确文档。
在场景 1 中,流程似乎是标准的:
- 用户尝试访问 PR
- PR 将用户引导至 SP
- SP 对 IDP 执行正常的 SAML 断言,然后将用户重定向到使用 IDP 登录
- 用户成功登录 IDP
- 用户被重定向回 SP 并提供有关用户的信息
- SP 重定向回 PR(可能带有某种生成的令牌以供将来使用或有关用户的其他信息)
- 来自 PR 的信息提供给用户
这是我不太清楚的情况2,我的想法如下:
- 用户尝试使用之前场景中提供的令牌访问 PR
- PR 用 SP 检查令牌的有效性
- SP 确定令牌是否有效(这是如何完成的?SAML 标准中似乎没有任何内容可用于检查会话是否处于活动状态)
- PR 允许根据 SP 的响应访问资源
我的问题是:
- 我对场景 2 的理解正确吗?这就是 SAML 的用途吗?
- 我将如何检查与 IDP 的会话的有效性?
- PR 是否必须在每个请求上检查会话的有效性?由于 SAML 不需要过期(如 OAuth 访问令牌),因此似乎没有任何方法可以缓存用户的会话。