草庐IT

企业安全

全部标签

Java 反射框架和安全性

假设我在我的应用程序的外部库中有一个单例类。但我还是可以使用反射创建该特定类的实例。像这样Classclas=Class.forName(Private.class.getName());for(Constructorc:clas.getDeclaredConstructors()){c.setAccessible(true);Privatep=(Private)c.newInstance();System.out.println(p);}我该如何限制它?.谢谢J 最佳答案 通过使用SecurityManager并控制Reflect

java - Java MulticastSocket 是线程安全的吗?

我有两个线程。第一个在循环中发送带有MulticastSocket的数据报;第二个线程在循环中使用相同的MulticastSocket实例接收数据报。它似乎工作正常,但我仍然有疑问。这两个线程可以使用同一个MulticastSocket实例吗?MulticastSocket在发送/接收方法调用方面是线程安全的吗? 最佳答案 发送和接收DatagramSocket方法都在发送/接收数据报包上同步。换句话说,如果您使用相同的数据报包从两个不同的线程发送和接收,这两个方法将同步,因为它们将使用相同的对象作为同步token。看了Datagr

java - 我可以使这个 java pluck() 方法更安全吗?

我写了这个效用函数:publicstaticListpluck(StringfieldName,Listlist)throwsNoSuchFieldException,IllegalAccessException{if(list.isEmpty()){returnnewArrayList();}Classc=list.get(0).getClass();Fieldf=c.getField(fieldName);ArrayListresult=Lists.newArrayList();for(Objectobject:list){result.add((T)f.get(object));

java - 这段代码是线程安全的吗?

我想处理客户请求流。每个请求都有其特殊的类型。首先我需要为该类型初始化一些数据,然后我可以开始处理请求。client类型第一次来的时候,我只是初始化对应的数据。在此之后,将使用该数据处理该类型的所有以下请求。我需要以线程安全的方式执行此操作。这是我写的代码。它是线程安全的吗?publicclassTest{privatestaticMapclientTypesInitiated=newConcurrentHashMap();/*toprocessclientrequestweneedtocreatecorrespondingclienttypedata.onthefirstsignal

java - 在 Java 代码中嵌入密码的最安全方法是什么?

这个问题在这里已经有了答案:Handlingpasswordsusedforauthinsourcecode(7个答案)关闭7年前。我必须先说明这个问题,我知道在客户端应用程序中硬编码密码是不好的做法,原因有很多。还有其他问题涉及该问题。这个问题的范围较窄,并且假设由于某些您无法控制的原因,身份验证凭据必须驻留在客户端应用程序的代码中。如果某些方法比其他方法更好(例如:JPasswordField将密码存储在字符数组而不是字符串中)并且如果您必须在Java应用程序中对其进行硬编码,您可以采取什么措施来使其更难被取走?更新:应用程序的一个实例在远程PC上运行,其中最终用户具有管理员权限。

java - 在 Spring Boot 1.4 中测试安全性

我正在尝试使用SecurityConfig类中定义的自定义安全设置来测试@WebMvcTest:@Configuration@EnableWebSecuritypublicclassSecurityConfigextendsWebSecurityConfigurerAdapter{@Overrideprotectedvoidconfigure(HttpSecurityhttp)throwsException{http.authorizeRequests().antMatchers("/admin*").access("hasRole('ADMIN')").antMatchers("/*

java - 如何实现用户以安全的方式发布一些 html 格式的数据的可能性?

我有一个textarea,我想为发布的数据支持一些最简单的格式(至少,空格和换行符)。我怎样才能做到这一点?如果我不转义响应并保留一些html标记,那么它将是一个很大的安全漏洞。但我没有看到任何其他允许在浏览器中设置文本格式的解决方案。所以,我可能应该过滤用户的输入。但是我该怎么做呢?有现成的解决方案吗?我正在使用JSF,那么是否有任何智能组件可以过滤除html标签之外的所有内容? 最佳答案 使用支持HTML过滤白名单的HTML解析器,如Jsoup.这是来自itssite的相关摘录.SanitizeuntrustedHTMLProb

java - guava-libraries : Is Objects. hashCode(Object[]) 碰撞安全吗?

在查看覆盖hashCode()的不同选项时,我被定向到GoogleGuava库中的Objects.hashCode(Object[])(javadoc).javadoc声明它委托(delegate)给Arrays.hashCode(Object[])。在许多不同的对象类型中使用此方法是否安全?这是否容易发生哈希冲突,或者这不太可能仅仅是因为容器通常只包含一种类型的对象?作为一个简单的例子,考虑以下类,publicclassStudent{privatefinalStringname;publicStudent(Stringname){this.name=name;}@Overridep

java - 如何创建安全的 JEXL(脚本)沙箱?

我正在为JEXL脚本创建一个沙箱,以便恶意用户无法访问我们授予他们访问权限的变量之外的数据,也无法对服务器执行DOS攻击。我想为同样这样做的其他人记录下来,并征求其他人对该方法的意见。以下是我所知道的需要解决的问题的列表:只允许使用白名单上的“new”实例化类。不允许访问任何类的getClass方法,因为这样可以调用forName并且可以访问任何类。限制对文件等资源的访问。只允许表达式执行一定的时间,这样我们就可以限制它消耗的资源量。这不适用于JEXL,但可能适用于您正在使用的脚本语言:不允许对象具有自定义的finalize方法,因为finalize方法是从终结器线程调用的,并且将使用

java - Spring 安全 : Ignore login page by using a special URL parameter

我目前有一个看起来像这样的设置:spring-security.xml:web.xml:springSecurityFilterChainorg.springframework.web.filter.DelegatingFilterProxyspringSecurityFilterChain/*这一切似乎都按预期工作,但是,在特殊情况下,如果用户传入特殊token,我希望绕过登录页面。因此,目前,如果用户转到诸如/dog之类的url,他们将看到登录页面,如果他们传入foo/bar的凭据,那么他们将登录后看到/dog对应的页面。我希望能够使用诸如/dog?token=abcd这样的URL