请参考以下数据库搜索教程,并建议搜索方法是否安全,特别是因为它从文本框中获取输入.
Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
Dim db As New BlogDBDataContext()
Dim q = From b In db.Blogs _
Where b.BlogContents.Contains(txtSearch.Text.Trim()) Or _
b.BlogTitle.Contains(txtSearch.Text.Trim()) _
Select b
lv.DataSource = q
lv.DataBind()
End Sub
Run Code Online (Sandbox Code Playgroud) 我对C++中的反dll注入有些怀疑.我有一个基于C++的游戏,我有黑客注入DLL的问题.然后我需要阻止它.
我从那里找到通知钩子:
但我不知道如何使用它.
有可能通知挂钩以防止dll注入?
怎么可能?(有更好的例子).
可以从dll?(以更好的例子).
感谢您阅读该帖子.
PS:对不起我的英语.
我正在考虑对 slf4j 记录器使用 CDI 注入,所以我创建了一个生产者。
我将它注入到一个ApplicationScoped可序列化的bean 中:
@ApplicationScoped
public final class CurrentApplicationBean implements Serializable {
@Inject
private transient Logger logger;
}
Run Code Online (Sandbox Code Playgroud)
它必须是瞬态的,因为它org.slf4j.Logger是一个不扩展的接口Serializable,但这意味着必须在反序列化后重新注入记录器。
我认为 CDI 不处理这个,你有什么知识?
此外,提供者总是提供一个新Logger实例,因为它必须从 设置记录器名称InjectionPoint,这意味着RequestScopedbean 有自己的记录器实例,而不是每个类的静态记录器。
也许日志记录不是 CDI 注入的好环境……你有什么考虑?
我的应用程序使用会话 cookie。不知何故,这个 cookie 被注入了一些用户的跟踪信息:
JSESSIONID=0624EF8E3E5E7CCBDB52BAE6C44C5AFB.jvm-application; optimizelySegments=%7B%22204658328%22%3A%22false%22%2C%22204736122%22%3A%22referral%22%2C%22204775011%22%3A%22ie%22%2C%222%22%2C%122%22%22%2722%21 %7D; optimizelyEndUserId=oeu6892721299353r0.9526657112221855; optimizelyBuckets=%7B%7D
JSESSIONID 来自我的应用程序,而 optimizelyXXX 元素似乎来自 optimizely.com,请参阅optimizely FAQ。
这怎么可能,我该怎么办?ModSecurity 抱怨可能的注入。当然我可以禁用此规则,但我想了解发生了什么。
我想用new Function(...)非常精简的代码生成一个函数。我想这样做
我eval()尽可能避免。但我不确定它是否足够安全使用new Function(...),这也被称为容易出现安全漏洞。
我想管理菜单按钮的状态。所以,在定义按钮时,我想写一些类似的东西
{
..., // More button definition
state: "isInEditmode && (isWidgetSelected || isCursorInWidget),
...
}
Run Code Online (Sandbox Code Playgroud)
在处理多个事件期间的 statechange 时,我将根据属性中的状态检查(总结)当前整体状态对象的状态states。
因此,我将在渲染时生成一个函数并将其附加为 DOM 对象属性,而不是这样的 DOM 属性:
...
$el.stateFn = new Function("stateObj", "with (stateObj) {return " + item.state + ";}");
...
Run Code Online (Sandbox Code Playgroud)
测试状态:
visible = $el.stateFn.call(currentStates, currentStates);
Run Code Online (Sandbox Code Playgroud)
该with语句帮助我提供当前state对象的属性作为变量,这样上面的表达式就不需要像obj.isInEditmode.
在我看来,这不会引入安全漏洞,因为附加到 DOM 对象的函数是在渲染时生成并从源读取的。还是我错了?我应该避免这种情况吗?
性能提示表示赞赏(评论)(我认为只要我Function在渲染期间评估一次新的,这是可以接受的)。
我正在尝试理解依赖注入的概念。下面是我尝试调试的示例。在这里,我创建了 Customer 类,我已将其依赖项注入到他的构造函数中。现在,当我调用this.Iorder.GetOrderDetails();该Index方法时,它给我错误NullReferenceException并要求使用new关键字创建一个对象来调用该方法。当我将此调用this.Iorder.GetOrderDetails();移至另一个方法GetCutomerDetails()并在索引方法中调用该方法时,它起作用了。
问题:我无法理解为什么this.Iorder.GetOrderDetails() 方法调用在方法中不起作用 Index以及为什么它在方法中起作用GetCutomerDetails()
public interface IorderDetails
{
void GetOrderDetails();
}
public class CustomerModel : IorderDetails
{
public void GetOrderDetails() {}
}
Run Code Online (Sandbox Code Playgroud)
控制器:
public class CustomerController: Controller
{
private IorderDetails Iorder;
//DI constructor Injecting OrderDetails object
CustomerController(IorderDetails iorderObj)
{
if (iorderObj == null)
throw new ArgumentNullException("orderObj should not be null");
this.Iorder = iorderObj;
}
//Default constructor
public CustomerController() { }
public ActionResult …Run Code Online (Sandbox Code Playgroud) 在将 httpContextBase 注入到使用 unity 注入控制器的服务级别对象中时,我遇到了一个大问题。
样品控制器
public HomeController : Controller{
private IWorkContext _context;
public HomeController(IWorkContext context){
_context = context;
}
}
public WorkContext : IWorkContext{
private HttpContextBase _httpContext;
public (HttpContextBase httpContext){
_httpContext = httpContext;
}
public void DealWithCookies(){
//do some thing with http context and deal with cookies
}
}
Run Code Online (Sandbox Code Playgroud)
内部统一引导程序
container.RegisterType<HttpContextBase>().RegisterInstance(new HttpContextWrapper(HttpContext.Current) as HttpContextBase, new ContainerControlledLifetimeManager());
//With this line httpcontextbase is returned but as a singleton instead of new for each request.
container.RegisterType<HttpContextBase>().RegisterInstance(new HttpContextWrapper(HttpContext.Current) as HttpContextBase, new PerRequestLifetimeManager());
//This …Run Code Online (Sandbox Code Playgroud) 我正在将一些核心的角度内容移植到一个新项目中。现在我收到注入器错误,但堆栈跟踪/角度错误页面不显示有问题的注入错误的类名。我得到的只是
\n\nError: $injector:modulerr\nModule Error\nRun Code Online (Sandbox Code Playgroud)\n\n通常那里有一个类名。现在我必须检查每个类(数十个)并手动检查导入。难道就没有更好的办法吗?我在添加类时就看到了这种情况的发生。有时它会显示丢失的注入的名称,有时它只是显示为空白,否则堆栈跟踪会正确识别丢失/错误的注入。
\n\n是否有一些额外的调试模式可以获取此信息?
\n\n完整的(无用的)堆栈跟踪:
\n\nFailed to instantiate module FSApp due to:\nError: [$injector:modulerr] http://errors.angularjs.org/1.2.16/$injector/modulerr?p0=FSApp&p1=Error\xe2\x80\xa6cape%2Fmain%2Fresources%2Flib%2Fangular-1.2.16%2Fangular.min.js%3A32%3A445)\n at Error (native)\n at http://fs/main/resources/lib/angular-1.2.16/angular.min.js:6:450\n at http://fs/main/resources/lib/angular-1.2.16/angular.min.js:33:332\n at Array.forEach (native)\n at q (http://fs/main/resources/lib/angular-1.2.16/angular.min.js:7:280)\n at e (http://fs/main/resources/lib/angular-1.2.16/angular.min.js:32:445)\n at http://fs/main/resources/lib/angular-1.2.16/angular.min.js:33:18\n at Array.forEach (native)\n at q (http://fs/main/resources/lib/angular-1.2.16/angular.min.js:7:280)\n at e (http://fs/main/resources/lib/angular-1.2.16/angular.min.js:32:445\nRun Code Online (Sandbox Code Playgroud)\n\n如果您想尝试重现此情况,请提交您的更改。到处删除几个文件。运行你的角度应用程序。如果删除得足够多,您很快就会收到空白注射器错误。
\n我想知道,现在使用最新版本的sh,bash,ksh等可以通过执行这个(非常简单的)脚本来获取命令注入吗?
#!/bin/sh
echo "What is the name of the program you are looking for?"
read program
locate $program
Run Code Online (Sandbox Code Playgroud)
尽管如果他们有shell当然可以执行代码,我只是想知道变量是否可以包含恶意代码,例如在PHP中:
parameter=parameter;ls
Run Code Online (Sandbox Code Playgroud)
此问题中也可以忽略shellshock(env变量).
我的自动装配不适用于基本文件实体侦听器。
我有一个File实体类,它使用批注指定侦听器,例如:
/**
@Orm\Entity(repositoryClass="root\CoreBundle\Repository\FileRepository")
@Orm\EntityListeners({"root\CoreBundle\EventListener\Entity\FileEntityListener"})
@Orm\Table(
etc...
Run Code Online (Sandbox Code Playgroud)
FileEntityListener类的开始如下:
class FileEntityListener
{
private $encoderFactory;
private $logger;
public function __construct(FilesystemMap $filesystemMap, LoggerInterface $logger)
{
$this->setFilesystemMap($filesystemMap);
$this->logger = $logger;
}
Run Code Online (Sandbox Code Playgroud)
当侦听器启动时,没有将依赖项注入侦听器的构造函数中,并且我收到该构造函数的错误,说:
Type error: Too few arguments to function Epcvip\CoreBundle\EventListener\Entity\FileEntityListener::__construct(), 0 passed in /var/www/html/accounting/vendor/doctrine/doctrine-bundle/Mapping/ContainerAwareEntityListenerResolver.php on line 83 and exactly 2 expected
Run Code Online (Sandbox Code Playgroud)
该捆绑包是自动接线的,但是没有注入依赖项。
有人知道为什么这行不通吗?也许我缺少一个简单的配置步骤?
code-injection ×10
security ×3
angularjs ×1
asp.net ×1
asp.net-mvc ×1
autowired ×1
bash ×1
c# ×1
c++ ×1
cdi ×1
cookies ×1
dependencies ×1
dll ×1
eval ×1
evaluation ×1
hook ×1
javascript ×1
linq ×1
linux ×1
logging ×1
optimizely ×1
php ×1
session ×1
shell ×1
sql ×1
symfony ×1