相关疑难解决方法(0)

HTTPS查询字符串是否安全?

我正在创建一个使用HTTPS的安全的基于Web的API; 但是,如果我允许用​​户使用查询字符串配置它(包括发送密码)这也是安全的,还是应该通过POST强制它?

ssl https query-string

331
推荐指数
8
解决办法
9万
查看次数

RESTful密码重置

构建RESTful资源以重置密码的正确方法是什么?

此资源旨在成为丢失或忘记密码的人的密码重置程序.它使旧密码无效并通过电子邮件向他们发送密码.

我有两个选择:

POST /reset_password/{user_name}
Run Code Online (Sandbox Code Playgroud)

要么...

POST /reset_password
   -Username passed through request body
Run Code Online (Sandbox Code Playgroud)

我很确定请求应该是POST.我没有信心选择一个合适的名字.而且我不确定是否应该通过URL或请求正文传递user_name.

rest password-recovery

96
推荐指数
7
解决办法
6万
查看次数

window.open with headers

我可以控制window.open(跨浏览器)发送的HTTP标头吗?

如果没有,我可以以某种方式在window.open一个页面中,然后在其弹出窗口中使用自定义标题发出我的请求吗?

我需要一些狡猾的黑客.

javascript window.open

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

如果您使用HTTPS,您的URL参数是否可以安全地嗅探?

假设我设置了一个简单的php web服务器,其页面可以通过HTTPS访问.URL有简单的参数,比如https://www.example.com/test?abc=123.

在这种情况下,这里的参数对于嗅探数据包的人来说是否安全?如果服务器不使用任何SSL证书,这是真的吗?

apache security url https

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

客户端应该如何将facebook访问令牌传递给服务器?

在每次调用我的REST API时,我都要求客户端传递用户的facebook访问令牌,该令牌对用户进行身份验证.传递此令牌的最佳做法是什么?

  1. 也许作为HTTP问号背后的参数

    GET /api/users/123/profile?access_token=pq8pgHWX95bLZCML
    
    Run Code Online (Sandbox Code Playgroud)
  2. 或者以某种方式在请求的标题中,类似于HTTP基本认证

  3. 也许是第三种选择?(我已经排除了在JSON中传递它,因为我希望令牌也在GET调用中传递,所以JSON不适合我认为)

authentication rest http oauth-2.0 facebook-access-token

31
推荐指数
1
解决办法
3万
查看次数

客户是否应该使用GET或POST获取OAuth 2访问令牌?

OAuth 2.0草案v2-22第3.2节说:

在发出访问令牌请求时,客户端必须使用HTTP"POST"方法.

但是,如果您查看FacebookFoursquare OAuth2实现,他们会要求客户端发出一个简单的GET请求来请求访问令牌.他们要求客户将client_id和client_secret放在URL中.

我正在构建OAuth 2服务器,在看到Facebook和Foursquare的实现后,我强烈考虑打破协议,允许客户端通过GET请求访问令牌.我的网站使用的是SSL,类似于Facebook和Foursquare.

所以我的问题是:我有什么理由不允许客户通过HTTPS通过GET方法请求访问令牌吗?

authentication https authorization oauth oauth-2.0

24
推荐指数
1
解决办法
9468
查看次数

cURL -d。参数

我有这个curl命令:

curl -k -d . -o SessionRequest.txt 
"https://myserver.com/MyWebApi/user?companysn=1234&login=my_login&password=my_password&ApiKey=my_api_key"
Run Code Online (Sandbox Code Playgroud)

“ -d”是什么?代表?它有什么作用?

curl

6
推荐指数
1
解决办法
2万
查看次数

无法 POST 到 IHTTPHandler 类,Access-Control-Allow-Origin 不允许来源

我有一个 C# SOAP Web 服务以及一些IHTTPHandler部署到https://localhost:123. 我有一个 HTML 页面,http://localhost试图使用 jQuery 将 AJAX POST 请求发送到这些处理程序之一。我每次都会得到以下信息:

XMLHttpRequest 无法加载https://localhost:123/(S(the_session_id))/MyHandler.ashxhttp://localhostAccess-Control-Allow-Origin 不允许来源。

我尝试创建一个CrossOriginModule模块和处理程序,就像这个问题CrossOriginHandler一样,按照他们的建议更新我的 web.config 。我已经尝试添加到我的处理程序中,正如这个问题中所建议的。我尝试按照这篇博客文章中的步骤添加到web.config 中的/中。没有任何帮助。context.Response.AppendHeader("Access-Control-Allow-Headers", "x-requested-with");ProcessRequestOPTIONSSimpleHandlerFactory-Integrated-4.0system.webServerhandlers

这是我的处理程序ProcessRequest

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "application/json";
        context.Response.AppendHeader("Access-Control-Allow-Origin", "*");
        context.Response.AppendHeader("Access-Control-Allow-Headers", "x-requested-with");
        context.Response.Write( /* some JSON string */ );
    }
Run Code Online (Sandbox Code Playgroud)

这是我的 web.config 的相关部分:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Origin" value="*" />
    </customHeaders> …
Run Code Online (Sandbox Code Playgroud)

.net ajax ssl jquery cors

5
推荐指数
1
解决办法
5034
查看次数

数据和请求中的参数有什么区别?

我正在使用python requests模块,我之前发送过这样的参数:

requests.post(url=url, params=params)
Run Code Online (Sandbox Code Playgroud)

但是今天,我发现我像这样发送数据,但失败了,我改成这样:

requests.post(url=url, data=params)
Run Code Online (Sandbox Code Playgroud)

那没关系,data和和有params什么区别?

我观察到请求有一个标头X-Requested-With:XMLHttpRequest,是因为这个吗?

python params python-requests

5
推荐指数
2
解决办法
3055
查看次数

从ASP.NET WebAPI 2中的标头和/或查询字符串中检索承载标记

背景:

我有一个ASP.NET WebAPI项目.我正在使用Bearer Tokens来验证我的用户.我的一些控制器操作标有[Authorized]过滤器.在客户端,客户端通过调用http://foo.bar/Token然后将该令牌添加Authorization为其请求的标头来获取其令牌.

到目前为止没有问题,并且我的Startup.Auth.cs课程中的所有设置都应该正常工作:

OAuthOptions = new OAuthAuthorizationServerOptions
{
    TokenEndpointPath = new PathString("/Token"),
    Provider = new ApplicationOAuthProvider(PublicClientId),
    AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
    AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
    // In production mode set AllowInsecureHttp = false
    AllowInsecureHttp = true                
};

// Enable the application to use bearer tokens to authenticate users
app.UseOAuthBearerTokens(OAuthOptions);
Run Code Online (Sandbox Code Playgroud)

现在我已经为我的项目添加了一些SignalR Hubs,我也想在集线器中验证用户身份.还有一些其他问题涉及客户端如何向SignalR连接添加承载令牌.摘要:

我试过的:

所以我创建了这个类来从查询字符串中检索我的访问令牌. …

signalr asp.net-web-api signalr-hub asp.net-identity

4
推荐指数
1
解决办法
3632
查看次数