相关疑难解决方法(0)

https带有令牌参数的URL:它有多安全?

在我们的网站上,我们根据用户的私人信息(通过表格提供)向用户提供模拟.我们希望以后允许他们重新使用他们的模拟结果,但不要强迫他们创建登录/密码帐户.

我们曾想过给他们发送一封带有链接的电子邮件,他们可以从中获取结果.但是,当然,我们必须保护此URL,因为私有数据受到威胁.

因此,我们打算在URL中传递令牌(如字母和数字的40个字符组合,或MD5哈希)并使用SSL.

最后,他们会收到这样的电子邮件:

您好,
请在https://www.example.com/load_simulation?token=uZVTLBCWcw33RIhvnbxTKxTxM2rKJ7YJrwyUXhXn上取回您的搜索结果

你怎么看待这件事?它足够安全吗?你会为我的令牌生成提出什么建议?如何在https请求中传递URL参数?

security url https token

77
推荐指数
2
解决办法
7万
查看次数

如何使用axios下载文件

我正在使用axios来获取基本的http请求,比如get和post,它运行良好.现在我需要能够下载excel文件.这可能与axios一起使用.如果是这样,有人有一些示例代码吗?如果不是我还能在反应应用程序中使用什么来做同样的事情?

reactjs axios

45
推荐指数
9
解决办法
10万
查看次数

如何从content-disposition获取文件名

我下载文件作为ajax的响应.如何从内容处理中获取文件名和文件类型,并为其显示缩略图.我有很多搜索结果,但找不到正确的方法.

$(".download_btn").click(function () {
    var uiid = $(this).data("id2");

    $.ajax({
        url: "http://localhost:8080/prj/" + data + "/" + uiid + "/getfile",
        type: "GET",
        error: function (jqXHR, textStatus, errorThrown) {
            console.log(textStatus, errorThrown);
        },
        success: function (response, status, xhr) 
        {
            var header = xhr.getResponseHeader('Content-Disposition');
            console.log(header);     
        }
    });
Run Code Online (Sandbox Code Playgroud)

控制台输出:inline; filename=demo3.png

javascript ajax filenames file-type content-disposition

33
推荐指数
5
解决办法
4万
查看次数

下载文件时如何传递身份验证令牌?

我有一个 Web 应用程序,其中 Angular (7) 前端与服务器上的 REST API 通信,并使用 OpenId Connect (OIDC) 进行身份验证。我正在使用向我的 HTTP 请求HttpInterceptor添加Authorization标头以向服务器提供身份验证令牌。到现在为止还挺好。

但是,除了传统的 JSON 数据,我的后端还负责即时生成文档。在添加身份验证之前,我可以简单地链接到这些文档,如下所示:

<a href="https://my-server.com/my-api/document?id=3">Download</a>
Run Code Online (Sandbox Code Playgroud)

但是,现在我已经添加了身份验证,这不再有效,因为浏览器在获取文档时没有在请求中包含身份验证令牌 - 所以我401-Unathorized从服务器得到了响应。

因此,我不能再依赖普通的 HTML 链接——我需要创建自己的 HTTP 请求,并显式添加身份验证令牌。但是,我如何确保用户体验与用户单击链接时的体验相同?理想情况下,我希望使用服务器建议的文件名保存文件,而不是通用文件名。

http-headers auth-token openid-connect angular

10
推荐指数
1
解决办法
9343
查看次数

asp.net核心JWT在uri查询参数?

我有一个受JWT和Authorize属性保护的api,在客户端,我使用jquery ajax调用来处理它。

这可以正常工作,但是我现在需要能够安全地下载文件,因此无法设置标头Bearer值,可以在URI中将其作为url参数吗?

=-=-=-=-

更新:这是我最终为自己的方案所做的事情,这是一个内部项目,数量很少,但是安全性很重要,将来可能需要扩展:

当用户登录时,我生成一个随机的下载密钥,并将其与JWT的到期日期一起放入数据库的用户记录中,然后将下载密钥返回给客户端。如果有一个具有下载密钥的查询参数,并且该密钥存在于用户记录中并且尚未过期,则下载路径受保护仅允许下载。这样,dl密钥对每个用户都是唯一的,只要用户的auth会话有效且可以轻松吊销,该密钥就有效。

url-parameters jwt asp.net-core-mvc asp.net-core

7
推荐指数
3
解决办法
3500
查看次数