小编Dan*_*Dan的帖子

我可以安全地从多个线程查询带有xpath表达式的DOM Document吗?

我计划在多个线程可以查询文档的应用程序中使用dom4j DOM Document作为静态缓存.考虑到文档本身永远不会改变的帐户,从多个线程查询它是否安全?

我写了下面的代码来测试它,但我不确定它确实证明操作是安全的吗?

    package test.concurrent_dom;

    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.Node;

    /**
     * Hello world!
     *
     */
    public class App extends Thread
    {
        private static final String xml = 
            "<Session>"
                + "<child1 attribute1=\"attribute1value\" attribute2=\"attribute2value\">"
                + "ChildText1</child1>"
                + "<child2 attribute1=\"attribute1value\" attribute2=\"attribute2value\">"
                + "ChildText2</child2>" 
                + "<child3 attribute1=\"attribute1value\" attribute2=\"attribute2value\">"
                + "ChildText3</child3>"
            + "</Session>";

        private static Document document;

        private static Element root;

        public static void main( String[] args ) throws DocumentException
        {
            document = DocumentHelper.parseText(xml);
            root = document.getRootElement();

            Thread …
Run Code Online (Sandbox Code Playgroud)

java xml concurrency xpath dom4j

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

如何在Hibernate/JPA中为每个持久性单元执行differnet import.sql?

我在JPA/Hibernate配置中配置了两个持久性单元.现在我需要为每个持久性单元执行不同的import.sql.如何指定应为每个持久性单元执行哪个import.sql?根据Hibernate的文档,我应该将import.sql放在classpath中.如果我这样做,import.sql将在每个持久性单元上执行.我需要以某种方式为每个持久性单元指定不同的import.sql.

import hibernate jpa persistence-unit

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

暴露未安全的安全Web应用程序的静态资源有哪些危险?

我们正在创建由https保护的典型Web应用程序.为了能够缓存静态资源,我想通过http公开图像,javascript文件等.否则他们就不会被哄骗.从安全的角度来看,这是否可行?涉及的风险是什么?

编辑:我希望代理和浏览器缓存静态内容.实际上,这里最重要的问题是通过反向代理缓存此内容,因此我不必手动将静态内容分发到http服务器(反向代理).

security https caching web-applications

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

如何在Swift中对该自定义UITextField进行单元测试?

我已经创建了这样的自定义UITextField

import Foundation
import UIKit

class NoZeroTextField: UITextField, UITextFieldDelegate {
    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.delegate = self
    }

    func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
    if (string == "0" ) {
        //ignore input
        return false
    }
        return true
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试为该类编写单元测试,但是问题在于将NSCoder实例传递给构造函数。我无法实例化它或将其设置为nil。我如何对该课程进行单元测试?

unit-testing ios swift xcode7 xcode7-beta5

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

Flex中的安全性 - 是否可以操作下载的代码并执行Web服务

我正在设计Flex中的应用程序,该应用程序连接到某些Web服务以执行一些金融交易.Web服务使用https协议进行保护,并要求在每次请求时登录时创建用户令牌.这用于验证和授权用户.到现在为止还挺好.

诀窍在于,并非所有的Web服务都是粗粒度的.举个例子,我们可以有两种Web服务方法:EnoughFounds和Transfer.因此,只有在方法EnoughFounds回复"true"之后,才会执行Transfer.此逻辑在Flex应用程序代码中编程.

我呈现的场景如下:如果有人下载应用程序并对其进行反编译会怎样.然后修改代码,以便不执行步骤EnougFunds.或者也许写一个全新的客户端甚至可能在其他技术中执行Transfer而不通过EnoughFunds步骤.在执行Transfer时,将在服务器上授权和验证用户; 但由于他正在使用他的真实证书,他将能够执行转移.他跳过的检查属于业务逻辑而不属于安全域.我需要以某种方式确保执行应用程序的代码是未修改的我编写的Flex代码和用户下载的代码.我怎样才能做到这一点?我知道我可以重写服务,以便在服务器上执行序列,

在我看来,必须有一些安全机制来解决这个特殊问题.

请注意,我不是在寻找有关最佳实践的建议.我的要求是不要在服务器端改变任何东西.如何在不更改服务的情况下保护协议级别的序列?

apache-flex security web-services decompiling flex3

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

Hibernate Security Apprehension:Hibernate与存储过程

在我合作的公司,我们经常需要与客户的基础设施集成.最近,在听说我们使用Hibernate之后,一个客户端表现出以下关注:由于Hibernate连接到数据库的用户可以直接访问表并且Hibernate动态生成SQL,因此这样的用户可以在数据库中做任何事情.

如果用户只有执行存储过程的权限,那么SP可以限制数据,但更重要的是他可以向数据库发出的查询类型:基本上没有动态和注入的SQL.因此,如果存在消除行的存储过程,那么获取用户凭据的恶意用户将能够一次性消除单行,但无法发出DELETE*.我知道Hibernate也可以映射视图,但这又限制了数据,而不是用户可以执行的操作.Hibernate也可以执行SP,但这在很大程度上超过了使用Hibernate的目的,并意味着完全重写应用程序.

虽然我不认为这是一个主要问题,但由于应用程序服务器也提供安全性,我遇到了说服客户端的问题.你对此有何看法?Hibernate真的不如使用存储过程的应用程序安全吗?使用Hibernate时可以采取哪些额外的安全措施?

security nhibernate stored-procedures hibernate

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

LINQ to Entities和分组与多对多关联

我在多对多关联中有一个产品和类别实体.我正在尝试显示每种产品的类别数量.到目前为止,我已经想出了这个:

Dim context = new Context()
Dim products = context.Products()
Dim productsByCategoryCount = From product In Products
 Group product By productId = product.productId Into productCount =  Count(product.cateogories.Count)
Run Code Online (Sandbox Code Playgroud)

查询执行但未显示正确的结果.我究竟做错了什么?

linq-to-entities many-to-many entity-framework group-by

0
推荐指数
1
解决办法
783
查看次数