小编Lee*_*eco的帖子

使用requireSSL = true表单身份验证不返回具有Secure属性的cookie

我现在看到我们的IIS站点出现了一个奇怪的响应,我们已经将主机从Win2K3/IIS6升级到Win2k8R2/IIS7.5.ASP.Net 4.0版

我们有一个非常复杂和成熟的Web应用程序,它使用带有以下配置的Forms Authentication:

<authentication mode="Forms">
  <forms loginUrl="~/Login" timeout="2000" domain="xx.xx.com" requireSSL="true" />
</authentication>
Run Code Online (Sandbox Code Playgroud)

登录URL指向为SSL正确配置的ASP.Net MVC 3页面.

该站点在IIS6中的行为符合预期,但自主机迁移以来,在成功登录后,响应头中的auth cookie缺少Secure和HttpOnly属性.这是有问题的,因为我们有一个包含许多HTTP页面的混合内容站点.auth cookie现在在每个请求中发送,而不仅仅是在通过HTTPS的请求中发送,现在对会话窃取漏洞开放.

我们的Logoff链接成功发送了包含Secure和HttpOnly属性的零长度cookie.

这是成功登录并从Fiddler注销后的原始响应,编辑以保护无辜者:)

Login Response:

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/json; charset=utf-8
Set-Cookie: .ASPXAUTH=83FCCA...102D; domain=xx.xx.com; path=/
Date: Fri, 25 Jan 2013 22:53:31 GMT
Content-Length: 84

{...}


Logoff Response:

HTTP/1.1 302 Found

Cache-Control: private
Content-Type: text/html; charset=utf-8
Location: http://xx.xx.com/?...
Set-Cookie: .ASPXAUTH=; domain=xx.xx.com; expires=Tue, 12-Oct-1999 04:00:00 GMT; path=/; secure; HttpOnly
Set-Cookie: logoff=; path=/
Set-Cookie: ...
Date: Fri, 25 Jan 2013 22:57:01 …
Run Code Online (Sandbox Code Playgroud)

asp.net security iis asp.net-mvc

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

如何判断所有Loading Data操作何时完成?

我有一个 Sheets 电子表格,其中有许多单元格使用自定义函数,该函数调用 IMPORTHTML 并解析结果。工作表中的其他计算使用这些自定义公式单元格返回的值。正如预期的那样,当自定义公式单元格正在计算时,它们会显示“正在加载数据...”错误消息。在加载数据操作完成之前,我无法相信相关计算的结果。有没有什么好方法可以知道某个范围内的所有加载数据操作何时完成?

google-sheets google-apps-script google-sheets-api google-sheets-custom-function

7
推荐指数
1
解决办法
2892
查看次数

Telerik RadGrid GridDataItem - 如何确定列是否存在?

我正在使用基类来修改ASP.Net页面上出现的任何Telerik RadGrid的行为.在基类中,我想在许多常见列上执行某些操作(设置Css,工具提示等),但不是每个网格中都存在每个公共列.

在ItemDataBound事件中,我正在获取GridDataItem的实例,而我想要获取对GridDataItem的一个或多个包含单元格的引用:

var cell = gridDataItem["ColumnUniqueName"]
Run Code Online (Sandbox Code Playgroud)

问题是,如果命名列不存在,则抛出GridException:

找不到绑定到列名"ColumnUniqueName"的单元格

有没有办法在引用列之前按名称测试列的存在,还是我使用try catch?

asp.net telerik radgrid telerik-grid

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

Knockout递归模板选择性绑定

在这个例子中,我有一个嵌套模板来显示树状视图,如缩进输出,但叶子节点上呈现的HTML不是我所期望的.如何让叶子节点呈现预期的html并且不包含子容器div?

如果我把if绑定放在模板绑定之外,我会收到一个javascript错误:

Uncaught Error: Multiple bindings (if and template) are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.

注意:使用if绑定注释<!-- ko if: children().length > 0 -->确实可以删除不需要的元素,但生成的html充满了注释,我更喜欢保持它干净,因为我可能有数百个叶子节点.

我尝试过使用2个模板,一个用于容器,一个没有,并且为名称添加条件,但模板始终呈现nodeTempl: data-bind="template: { name: (children().length > 0) ? 'nodeTempl' : 'leafTempl', foreach: children }"

我想我真的想根据当前正在处理的孩子的状态应用不同的模板.

叶节点正在这样渲染

<div>
    <div data-bind="text: name">Node 1-1-1</div>            
    <div class="indent-1" data-bind="template: {if: children().length &gt; 0,  name: 'nodeTempl', foreach: children }"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

但是我希望它像这样呈现:

<div>
    <div data-bind="text: name">Node 1-1-1</div>            
</div>
Run Code Online (Sandbox Code Playgroud)

这是设置: …

knockout.js

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

jQuery ajax ifModified在调用缓存响应时没有荣幸,应该是304

我正在使用jQuery ajax从ASP.Net MVC应用程序中检索json,并且在进行ajax调用时我没有看到预期的结果ifModified = true.

我正在使用jQuery 1.9.1和Chrome版本26.0.1410.64 m

当使用新的浏览器实例并对已经缓存的内容进行初始请求时,即使在ajax配置中设置了ifModified = true,也不会调用服务器来检查缓存状态.在来自同一浏览器实例的后续请求中,(预期)对服务器进行调用,服务器以304响应.

在初始请求中,浏览器网络跟踪显示内容是从状态为200的缓存传递的,即使从未检查过修改日期.Fiddler没有显示任何请求,并且ASP.Net MVC控制器中的断点未被命中.

这是一个错误,还是有办法让它正常工作?如果它是一个错误,它是一个jQuery错误还是Chrome错误?

这是一个简化的ajax调用:

var req = $.ajax({
    type: "GET",
    dataType: "json",
    url: "/JsonTest/GetJson",
    ifModified: true,
    success: function (data, status, jqXHR) {
        if (data === undefined && status == "notmodified") {
            $.ajax({
                type: this.type,
                dataType: this.dataType,
                url: this.url,
                ifModified: false,
                success: this.success,
                error: this.error,
                complete: this.complete
            });
        } else {
            alert($.toJSON(data));
        }
    },
    error: function (jqXHR, status, error) {
        alert(error);
    },
    complete: function (jqXHR, status) {
    } …
Run Code Online (Sandbox Code Playgroud)

ajax jquery caching google-chrome http-status-code-304

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