小编Ror*_*ory的帖子

如何在顶部框架中调用javascript函数?

这看起来很简单,但是如何从子框架中调用顶级html中定义的javascript函数?

top html doc
 - 1st level frame
    - 2nd level frame
Run Code Online (Sandbox Code Playgroud)

我的顶级html文档有一个名为testFn()的函数.在第二级框架中,我有一个按钮,onclick="top.testFn();"但这不会调用testFn().在Firebug中,如果我使用手表执行top.testFn();它,则说TypeError:testFn()不是函数.

这一切都可以正常工作 - 在这种情况下,我的文档有问题,还是有其他方法在顶级窗口中调用函数?

javascript frames

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

ServiceStack会话ID是否足够安全?

据我所知,在使用ServiceStack的身份验证时,您通常会在会话开始时进行身份验证,然后将服务器端的会话标记为已通过身份验证.后续Web服务请求将使用该会话ID,而不需要重新身份验证.(如果到目前为止我错了,请纠正我).

使用SessionExtensions.cs中的 Guid.NewGuid()执行新会话ID的生成,这不会生成加密奇妙的值.是否有任何理由不切换使用加密安全值,例如使用RNGCryptoServiceProvider

更新:

实际上,在进一步考虑之后,ASP.NET不会使用其会话ID来确认请求者是否经过身份验证.它使用FormsAuthenticationTicket,它已经用机器密钥加密并进行了散列(这里是对ASP.NET 2.0进程的一个很好的描述).

我不是安全人员所以如果你要比较ASP.NET Forms Auth提供的安全级别和随机值提供的安全级别,我不知道这有什么含义.我想这一切都归结为密钥和数据长度......而且对表单身份验证进行暴力攻击所需的时间可能要高得多,因为它不需要只尝试一大堆随机数?

.net security guid servicestack

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

如何在Chrome 33+中通过GPO自动安装Chrome扩展程序(针对GPO安装的扩展程序的Chrome错误或未记录的更改?)

我们有一个专为公司内部使用而构建的Google Chrome扩展程序.到目前为止,它已经使用GPO部署,并且在Chrome 33出现之前工作正常.现在,扩展程序未显示在"扩展程序"列表中且未处于活动状态:'(.部署/安装过程是否已针对GPO更改了Chrome 33?我们现在需要做任何不同的事情,或者如何通过GPO部署扩展程序在后Chrome 33世界?

我们按照此处的建议("通过组策略预安装"部分)使用GPO 进行安装,并在此处详细说明.我们设置的GPO ExtensionInstallForcelist,ExtensionInstallWhitelistExtensionInstallSources.

我们的扩展程序和更新xml文件未托管在Chrome网上应用店中.Chrome 33中有计划的更改(以保护用户免受恶意扩展),这会强制扩展程序位于Chrome网上应用店中,但是从我们发现的所有文档中,这不应该适用于GPO安装的扩展,如http://www.chromium.org/developers/extensions-deployment-faq所述:

除了通过企业策略或开发人员模式安装之外,用户只能安装Chrome Web商店中托管的扩展程序.

...

此更改后,扩展支持的部署选项有哪些?...对于企业,我们将继续支持组策略以安装扩展,而不管扩展的托管位置. 请注意,用户的计算机必须加入域才能使GPO策略推送生效.

...

以前安装但未托管在Chrome网上应用店中的扩展程序将被硬禁用(即用户无法再次启用这些扩展程序),但通过企业策略或开发人员模式安装的扩展程序除外.

http://blog.chromium.org/2013/11/protecting-windows-users-from-malicious.html:

我们将继续在开发期间支持本地扩展程序安装以及通过Enterprise策略进行安装,Chrome Apps也将继续得到正常支持.

一旦用户升级到Chrome 33,扩展程序就会消失,因此看起来有关GPO部署的内容已发生变化,但我没有看到有关此更改的任何文档(或显然如何修复我的部署).

我们无法在Chrome网上应用店中托管,因为我们的扩展程序使用的是NPAPI组件,新的Chrome网上应用店扩展程序不再允许使用该组件.迁移到不使用NPAPI的不同架构需要付出巨大努力,因此这不是短期解决方案(尽管计划在中期内).但是,我们已经尝试删除NPAPI组件以检查Chrome 33是否不喜欢它,并且它似乎与此无关.我们只尝试在网址中使用https,也不起作用.

可能与问题346386有关

谢谢你的任何建议!

google-chrome google-chrome-extension

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

当对象acl是公共的时,如何将S3存储桶策略设置为(大部分)私有?

我无法弄清楚如何设置我的存储桶策略以实现我想要的.任何帮助将非常感激!我希望的规则是:

  • 我帐户中的用户可以通过用户策略进行访问,因此不需要专门授予他们的访问权限
  • 匿名用户(或我的AWS账户以外的任何人)应该没有访问权限,除了:
  • 一个文件夹/ temp_public应该有一个公共GetObject(即如果你知道你可以获取文件的URL)
  • 这些策略应覆盖存储桶中文件的对象ACL,因为对象ACL有时设置为公共读取.

创建存储桶策略的原因是存储桶中的许多对象具有公共读取ACL(在文件上载时无意中设置,但也可能在将来发生,因此我希望使用存储桶ACL覆盖对象ACL).

忽略temp_public文件夹,我希望我可以这样做:

{
    "Version": "2008-10-17",
    "Id": "Policy123456789",
    "Statement": [
        {
            "Sid": "Stmt1",
            "Effect": "Deny",
            "NotPrincipal": {
                "AWS": "arn:aws:iam::123456789012:root"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::my-bucket-name/*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

(123456789012我的AWS账号在哪里),但我对所有使用该存储桶策略的用户都拒绝访问.我想NotPrincipal在这种情况下不起作用?

谢谢你的任何建议!

罗里

更新:跨张贴在这里的AWS论坛,并回答了!

amazon-s3 amazon-web-services

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

我可以为Azure文件存储创建SAS URL(即不是Blob)

使用windows azure blob存储并通过具有共享访问签名的URL提供访问是正常和伟大的.我可以使用较新的Azure文件存储存储的文件执行相同的操作吗?

获取斑点REST API说,你可以使用一个共享访问签名,获取文件REST API文档没有.所以我猜不是.

如果不可能,那么临时访问某人的建议方法是什么?创建一个副本作为blob并使用SAS,或者只是不使用文件存储这种情况?

.net azure azure-storage

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

EWS报告SendItem成功但邮件仍在"草稿"文件夹中

我正在使用EWS托管API通过交换发送电子邮件.发送带附件的项目时,我先做一个CreateItem然后再做一个SendItem.大多数情况下,这种方法很好,但有时候项目会保留在"草稿"文件夹中,即使EWS报告SendItem成功.我怎么知道这里发生了什么?

我从跟踪中看到的EWS消息是第一个CreateItem:

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
      <t:RequestServerVersion Version="Exchange2013" />
    </soap:Header>
    <soap:Body>
      <m:CreateItem MessageDisposition="SaveOnly">
        <m:SavedItemFolderId>
          <t:DistinguishedFolderId Id="drafts">
            <t:Mailbox>
              <t:EmailAddress>amailbox@thedomain.com</t:EmailAddress>
            </t:Mailbox>
          </t:DistinguishedFolderId>
        </m:SavedItemFolderId>

        ...

      </m:CreateItem>
    </soap:Body>
  </soap:Envelope>
</Trace>
Run Code Online (Sandbox Code Playgroud)

我得到了成功回复:

  <?xml version="1.0" encoding="utf-8"?>
  <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Header>
      <h:ServerVersionInfo MajorVersion="15" MinorVersion="0" MajorBuildNumber="1104" MinorBuildNumber="3" Version="V2_22" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
    </s:Header>
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <m:CreateItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
        <m:ResponseMessages>
          <m:CreateItemResponseMessage ResponseClass="Success">
            <m:ResponseCode>NoError</m:ResponseCode>
            <m:Items>
              <t:Message>
                <t:ItemId Id="AAMkADExMmY0MTgzLWJmZmUtNDcxNi1iOTk0LWMzZTU3M2I3NjBkMwBGAAAAAABL/dBAdDByRbztYn12Cy/4BwCJZGY3HQ5zQpbF9WoRXD0sAAAAAAEPAACJZGY3HQ5zQpbF9WoRXD0sAAA6HNVuAAA=" ChangeKey="CQAAABYAAACJZGY3HQ5zQpbF9WoRXD0sAAA6JC4z" />
                <t:Attachments>
                  <t:FileAttachment>
                    <t:AttachmentId Id="AAMkADExMmY0MTgzLWJmZmUtNDcxNi1iOTk0LWMzZTU3M2I3NjBkMwBGAAAAAABL/dBAdDByRbztYn12Cy/4BwCJZGY3HQ5zQpbF9WoRXD0sAAAAAAEPAACJZGY3HQ5zQpbF9WoRXD0sAAA6HNVuAAABEgAQAGiKX5lgtuFLgfIBgyg4IwM=" />
                  </t:FileAttachment> …
Run Code Online (Sandbox Code Playgroud)

.net exchangewebservices ews-managed-api

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

如何在OnStart方法中停止服务?

我正在.net 2.0中编写一个Windows服务.

我应该做内OnStart()如果由于某种原因,我不希望我的服务启动方法?我可以简单地调用Stop()基类(ServiceBase)的方法吗?我已经尝试过了,并且获得了一些有趣的内存访问异常.是否需要启动一个单独的线程来调用该Stop()方法?

.net service windows-services .net-2.0

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

使用 XmlAttributeOverrides 时,如何以编程方式生成像 XmlSerializer 这样的序列化程序集或 cs 文件?

我想生成一个序列化程序集或 .cs 文件来使用 XmlAttributeOverrides 序列化我的类型,然后直接在我的项目中引用这个程序集/.cs 文件而不是使用 XmlSerializer 来执行 xml 序列化/反序列化。这是因为序列化使用 XmlAttributeOverrides,并且当您创建具有覆盖的 XmlSerializer 时,它不会查找现有程序集,但会始终重新生成一个程序集(参考)。我的程序在无法运行 csc.exe 的环境中运行,因此我无法在运行时生成序列化程序集。

需要明确的是,我不能只使用 sgen.exe,因为它只会生成执行默认 xml 序列化/反序列化的程序集。如果您创建一个 XmlSerializer 并在构造函数中传递它 XmlAttributeOverrides则 Serialize() 和 Deserialize() 不使用由 sgen.exe 生成的程序集,因此 sgen.exe 对我来说似乎没有用。使用覆盖时 XmlSerializer 将始终生成新程序集。

那么,有没有一种方法可以调用 XmlSerializer 或其他类并让它创建一个可以包含在我的项目中的 .cs 文件或 dll?如果可能的话,我想自动化这个过程,这样我就不需要在更改正在序列化的类型时进行手动更改。我不能使用 sgen.exe /k 因为它只为一种类型生成默认的 XmlSerializer 而不是我需要的使用覆盖的类型。是否有另一种方法来生成或捕获由 XmlSerializer 创建的 .cs 文件?

(我在这里有一个相关的问题这是这个问题的根源)

.net c# xml-serialization xmlserializer

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

如何使用.NET将byte []转换为字符串以生成与SQL Server转换格式1或2相同的字符串?

SQL Server convert()函数可以将varbinary数据转换为具有以下编码的字符串:

每个二进制字符都转换为两个十六进制字符.如果转换表达式的长度大于data_type长度,则将被截断.

如果data_type是固定大小的字符类型,并且转换结果的长度小于data_type的长度; 空格被添加到转换表达式的右侧以保持偶数个十六进制数字.

字符0x将添加到样式1的转换结果的左侧.

例如,输出可能看起来像'0x389D7156C27AA70F15DD3105484A8461A2268284'.我怎样才能在C#中轻松做同样的事情?即使用相同类型的编码将byte []转换为字符串?

.net c# sql-server encoding

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

80070005当具有水晶报告的asp.net网站部署在专用服务器上时,访问被拒绝

我有一个asp.net应用程序,它使用水晶报告显示报告.应用程序在我的本地PC上正常工作.我在我们的专用服务器上部署了这个应用程序,并在专用服务器上安装了水晶报告运行时引擎.当我尝试按报告以查看报告,我收到上述错误.我将文件夹"C:\ Windows\Temp"的权限更改为完全控制(通过选择"temp"文件夹的属性,所有用户的完全控制权限(IIS-users,network..etc)).我不确定这是否是给这个文件夹提供完全控制权限的正确方法(我对网络概念的了解不多).但是我仍然得到同样的错误.错误是:

检索具有CLSID {4DB2E2BB-78E6-4AEA-BEFB-FDAAB610FD1B}的组件的COM类工厂由于以下错误而失败:80070005访问被拒绝.(来自HRESULT的异常:0x80070005(E_ACCESSDENIED)).

描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

异常详细信息:System.UnauthorizedAccessException:检索具有CLSID {4DB2E2BB-78E6-4AEA-BEFB-FDAAB610FD1B}的组件的COM类工厂由于以下错误而失败:80070005访问被拒绝.(来自HRESULT的异常:0x80070005(E_ACCESSDENIED)).

ASP.NET无权访问所请求的资源.考虑将资源的访问权限授予ASP.NET请求标识.ASP.NET具有基本进程标识(IIS 5上通常为{MACHINE}\ASPNET,IIS 6和IIS 7上为网络服务,IIS 7.5上已配置的应用程序池标识),如果应用程序未模拟,则使用该标识.如果应用程序模拟通过,则标识将是匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户.

要授予对文件的ASP.NET访问权限,请在资源管理器中右键单击该文件,选择"属性",然后选择"安全"选项卡.单击"添加"以添加适当的用户或组.突出显示ASP.NET帐户,并选中所需访问的框.

asp.net hosting crystal-reports-2008

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