标签: code-injection

使用jQuery将HTML注入DOM的最佳方法是什么?

我正在制作一个日历页面,允许用户点击一天,然后使用弹出的表单输入当天的条目.

我对jQuery的DOM操作并不陌生,但这是我以前做过的事情,我开始怀疑是否有更有效的方法来做到这一点?

在JavaScript中手动构建HTML是性能最有效的方式(我认为这是真的,使用像appendTo()等函数)或者在DOM中创建一个隐藏的构造然后克隆它会更好吗?

理想情况下,我想知道这样做的最佳方法,以提供代码整洁性和性能之间的平衡.

谢谢,

html javascript jquery dom code-injection

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

在Servlet中使用CDI注入

我试图@Inject@SessionScoped豆成过滤器

@WebFilter("/*")
public class IdentityFilter implements Filter, Serializable {

    @Inject
    private LoginUser loginUser;
...
Run Code Online (Sandbox Code Playgroud)

这里LoginUser@SessionScoped

目的是loginUser表示会话的登录用户.

问题是看起来我并不总是loginUser从当前会话中获取,因为一个会话的LoginUser对象正在与另一个会话共享,所以会话之间会出现"泄漏".显然这不好.

我想知道这是因为Filter对象是单例,还是至少在容器(glassfish)的请求和会话之间重用.(对?)

是否有更好的方法来获取LoginUser当前会话的对象而不使用Filter上的属性?

servlets code-injection cdi servlet-filters

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

JSF应用程序范围实例化和注入

可能我的问题很简单,但我之前从未使用过应用程序范围bean.我需要应用程序bean,因为我必须花时间在数据库上进行事务处理.我的搜索根本不能满足我的好奇心.我不知道为什么,但我没有设法初始化bean(它是null)或应用程序崩溃.所以我有一个应用程序范围bean

@ManagedBean(eager=true)
@ApplicationScoped
public class ApplicationContainer {
...
}
Run Code Online (Sandbox Code Playgroud)

eager = true我读过,告诉JSF每次启动应用程序服务器(我使用GlassFish)时都会启动bean.

我在几个地方读过,我只需要把这个注释和bean初始化.对我来说它不...我读了之后如果我想将应用程序bean注入另一个bean我必须使用@PostConstuct注释

@ManagedBean
@SessionScoped
public class TestsBean implements Serializable {

    private static final long serialVersionUID = 1L;
    @ManagedProperty(value = "#{container}")
    private ApplicationContainer container;

    @PostConstruct
    public void init() {
    container.contructContainer();
    }
Run Code Online (Sandbox Code Playgroud)

这给我将其注入TestsBean的其他bean中的错误...

  • 如果应用程序bean在服务器启动时被初始化,它会在应用程序bean的主体中调用它来执行它需要的操作吗?或者在注入的bean中,它是在post构造方法中完成的吗?

请告诉我处理应用程序bean的正确方法.我真的很困惑......

谢谢大家的时间!

jsf scope instantiation code-injection

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

利用JavaScript的eval()方法

许多开发人员认为eval()应该避免使用JavaScript的方法.从设计角度来看,这个想法很有意义.当更简单,更好的选项可用时,它通常被用作丑陋的解决方法.

但是,我不了解安全漏洞的担忧.当然,运行eval()使黑客能够运行您可以运行的任何JavaScript代码.

但他们不能这样做吗?至少在Chrome中,开发人员工具允许最终用户运行自己的JavaScript.如何eval()比开发人员工具更危险?

javascript security eval client-side code-injection

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

Android片段和依赖注入

正如标题所说,我试图弄清楚哪一个是在片段中注入依赖的最佳方式.我希望独立于RoboGuice等外部框架.

现在,以最简单的方式,我有一个抽象某种逻辑的接口,并且,从一个Activity,我想注入一个这个接口的实现.我知道我必须为我的片段提供一个默认构造函数,因为系统可能需要在某个时刻重新创建片段,并且创建片段的新实例的常用方法是提供处理创建的静态方法这个:

public static Fragment newInstance() {
    final Bundle bundle = new Bundle();
    ...
    final Fragment fragment = new MyFragment();
    fragment.setArguments(bundle);
    return fragment;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能将依赖关系传递给片段?我应该让它实现Parcelable或Serializable接口,然后将它打包到Bundle中吗?有没有其他方法来实现结果?

dependencies android dependency-injection code-injection fragment

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

child_process在node.js安全/转义中生成

在节点中,我使用一个模块(GM),发现它使用 spawnchild_process模块传递参数给GraphicMagick的convert可执行文件.

我正在将用户提交的信息传递给GM​​.是否存在安全问题,用户可以使用管道(或其他命令行欺骗)进行某种注入攻击?或者确实spawn可以防范?如果没有,在这种情况下是否有最佳做法可以转义用户提交的值?

security code-injection spawn child-process node.js

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

防止命令行注入攻击

我们目前正在构建一个执行许多外部工具的应用程序.我们经常要将用户输入我们系统的信息传递给这些工具.

显然,这是一场等待发生的大安全噩梦.

遗憾的是,我们还没有在.NET Framework中找到执行命令行程序的任何类,同时提供与IDbCommand对象为数据库执行的注入攻击相同的防范.

现在,我们正在使用一个非常原始的字符串替换,我怀疑它是不够的:

protected virtual string Escape(string value)
{
      return value
        .Replace(@"\", @"\\")
        .Replace(@"$", @"\$")
        .Replace(@"""", @"\""")
        .Replace("`", "'")
      ;
}
Run Code Online (Sandbox Code Playgroud)

你们做了什么来防止命令行注入攻击?我们计划实现一个非常严格的正则表达式,只允许一小部分字符通过,但我想知道是否有更好的方法.

一些澄清:

  • 其中一些工具没有我们可以编程的API.如果他们这样做了,我们就不会遇到这个问题.
  • 用户不选择要执行的工具,他们输入我们选择使用的工具的元数据(例如,将诸如版权声明之类的元数据注入目标文件中).

security command-line code-injection

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

JSF标准验证可以防止代码注入吗?

在我的项目中,我在表示层和持久层重复验证,希望提高安全性.所以我的问题是:标准JSF验证可以防止代码注入.

<h:inputText id="name" value="#{bean.customer.name}" required="true" requiredMessage="Validation Error: Value is required." title="Name" >
      <f:validateLength maximum="40"/>
</h:inputText>
Run Code Online (Sandbox Code Playgroud)

在这里,我验证字段是否为空,并验证字段长度.我知道验证字段长度会使代码注入变得更难,但有时你需要一个很长的字段长度,比如textArea.如果这是脆弱的,我将如何解决它?非常感谢你提前.

java security jsf sql-injection code-injection

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

允许用户注入和运行php代码的最佳方式

我一直在思考允许用户在网站上注入代码并在Web服务器上运行代码的想法.这不是一个新想法 - 许多网站允许用户在线"测试"他们的代码 - 例如http://ideone.com/.

例如:假设我们有一个包含<textarea>元素的表单,其中该用户输入他的代码然后提交它.服务器读取POST数据,在被ob _*()输出缓冲处理程序包围时保存为PHP文件和require().捕获的输出呈现给最终用户.

我的问题是:如何正确地做到这一点?我们应该考虑的事情[和可能的解决方案]:

  • 安全,用户不允许做任何邪恶的事,
  • 稳定性,用户不允许在(true){}时杀死webserver提交
  • 性能,服务器在可接受的时间内返回答案,
  • 控制,用户可以做任何匹配以前的点.

我更喜欢面向PHP的答案,但也欢迎一般的方法.先感谢您.

php web-services code-injection

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

将本地.js文件注入网页?

我想将几个本地.js文件注入网页.我只是指客户端,就像在我的浏览器中一样,我不需要任何其他人访问该页面就可以看到它.我只需要一个.js文件,然后制作它就好像这个文件一直都是通过<script>标签包含在页面的html中.

如果页面加载后本地文件中的内容可用,则可以.

如果我必须在计算机上"手动"使用控制台或其他东西,这是没关系的.

我已经尝试了两天,我尝试过Greasemonkey,我尝试使用JavaScript控制台手动加载文件.让我感到惊讶的是,没有(显然)已有的方法可以做到这一点,这似乎是一件非常简单的事情.不过,我认为简单与普通不同.

如果它有帮助,我想这样做的原因是在基于JS的聊天客户端上运行聊天机器人.一些机器人的代码被混合到预先存在的聊天代码中 - 为此,我让Fiddler拦截对.../chat.js的请求并将其替换为本地文件.但我有两个.js文件,它们与页面本身的任何内容"独立".页面请求的任何.js文件都没有我可以替换它们,所以我不能使用Fiddler.

html javascript code-injection

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