草庐IT

Autowired注入

全部标签

php - 我可以通过仅替换 CR 来避免 CRLF 注入(inject)攻击吗?

我有一个允许一个文件附件并生成一封电子邮件到硬编码地址的表单。我想避免恶意用户输入自定义邮件header的可能性(CRLF注入(inject),因为根据RFC电子邮件header以\r\n结尾,所以称为CRLF注入(inject))。假设我对可能进入$additional_headers的每条数据运行以下函数参数:这仅替换了CRLF对的回车一半。这能充分防止潜在的攻击吗?通常我会用空字符串替换\r\n。但是这种特殊形式允许一个附件,这意味着消息正文实际上最终会通过$additional_headers参数传递,因为PHP没有用于构建多部分MIME编码电子邮件的native函数(据我所知

php - 传递数字变量并防止 SQL 注入(inject)

我有这样的查询:SELECTnameFROMmytableWHEREid=$id其中$id由用户提供。我确实为输入变量添加了斜杠。仅使用(int)$id来防止SQL注入(inject)就足够了吗?或者在将它传递给查询之前,我是否必须使用is_numeric检查$id?已编辑:脚本语言为PHP。 最佳答案 是的,使用(int)或intval()转换变量将确保结果只是一个数字,没有其他字符。这是一种很好的防御SQL注入(inject)攻击的方法,但它当然只适用于数字变量。有关SQL注入(inject)防御方法的更多详细信息,请参阅我的演

php - 如何演示二阶 SQL 注入(inject)?

所以我一直在尝试复制二阶SQL注入(inject)。这是我准备的两个基于php的站点的示例模板。我们就称它为选民登记表吧。用户可以注册,然后您可以检查您是否是注册选民。插入.php";$qry=mysql_query($sql_statement,$conn)||die(mysql_error());mysql_close($conn);Echo"Datainsertedsuccessfully";}?>选择.php";$result=mysql_query($sql,$conn);$row=mysql_fetch_row($result);$sql1="SELECT*FROMcana

php - 为什么将 Servicemanager 注入(inject)可调用而不是服务

我目前正在使用ZF2serviceManager,我试图弄清楚为什么serviceManager没有将sm注入(inject)到实现ServiceLocatorAwareInterface的类中。我的主要问题是我做对了吗?或者“服务”键不是用于实现ServiceLocatorAwareInterface的服务,而是用于不需要注入(inject)的服务?在Module.php中publicfunctiongetServiceConfig(){returnarray('invokables'=>array('myService1'=>'MyModule\Service\Service'),

php - Laravel - 你如何将变量注入(inject)密码提醒邮件

使用Laravel4.1的新密码代理,有没有办法将一些数据传递到密码提醒View?具体来说,我希望能够更改密码重置View的URL。看这里:http://laravel.com/api/source-class-Illuminate.Auth.Reminders.PasswordBroker.html#97-118我不确定它是否足够灵活以在不完全扩展此类的情况下接受数据... 最佳答案 不幸的是,searsaw建议的代码对我不起作用。我想我弄错了。但我找到了下一个解决方案:View::composer('emails.auth.re

php - ctype_alnum 对抗 SQL 注入(inject)

准备好的语句不允许参数化表名。为了确保无法插入任何代码,我想使用ctype_alnum来验证进入数据库模块的所有表名(删除下划线后),以保护应用程序免受其他部分错误的影响。functioninsert($table){if(!ctype_alnum(str_replace("_","",$table)))thrownewException("Invalidtablename");$sql="INSERTINTO$tableVALUESvalue=:value";#...prepareandexecute}是否存在这不足以抵御的攻击?我在想例如multibytecharacterexpl

php - 依赖注入(inject)简单实现

看完this我想知道是否有人可以帮助我理解如何使用这些PHP类正确实现依赖注入(inject):classDBClass{private$mMysqli;function__construct(mysqli$database){$this->mMysqli=$database;}function__destruct(){$this->mMysqli->close();}publicfunctionlistUsers(){$query='SELECT*FROMUtente;';$resultset=$this->mMysqli->query($query);while($row=$res

php - 如何防止在 Zend Framework 中编程的应用程序中的 SQL 注入(inject)攻击?

我对采埃孚的安全性没有任何概念。操作数据库一定要用Filter吗?也许绑定(bind)就足够了?这个怎么样:$users->update($data,'id=1');是否应该以某种方式过滤$data数组?请随意写下您对这个问题的任何了解。您能否提供一些有关ZF安全性的好文章的链接(主要是关于SQL注入(inject)和XSS)? 最佳答案 简答虽然ZF采取并提供了一些措施来保护您的应用程序,但您仍应采取与没有ZendFramework时相同的预防措施。关于您的代码片段,请查看关于Zend_DbintheReferenceGuide的

php - 通过服务将 Symfony EntityManager 注入(inject)到表单类型中

我需要根据实体是否是最新发布的版本来修改表单中的某些字段(标签和类)。所以我需要能够将实体管理器注入(inject)到我的formType中,以便在事件监听器中我可以将当​​前版本与实体的已发布版本进行比较。但我什至无法将entityManager放入__construct()开始。也许还有更好的方法来实现我的大目标(例如修改twig模板中的表单),但我还需要了解如何进行这种基本的依赖注入(inject)。我想如果我在我的服务中声明它(就像文档描述的基本ServiceContainer和特别是ConstructorInjection方法),它将作为我的构造中的参数可用。但是当我这样做时

php - 通过 AJAX 注入(inject)受控 HTML 是否是一个安全问题?

我这里有一个具体案例,我需要一些安全建议。基本上我的问题是“如果我控制数据库中的内容(没有用户提交的数据),以HTML(通过AJAX)返回数据库查询的结果是否存在安全问题?”这是正在发生的过程:每日构建生成一个XML文档我的服务器检索此XML文档,对其进行解析(使用PHP)并将其输入数据库。用户访问站点,发送AJAX请求(参数包括要返回的结果数、排序方式以及必要时的搜索词)PHP脚本查询数据库返回结果给AJAX回调AJAX回调将结果注入(inject)页面查看非常标准的东西...更多背景知识:我使用准备好的SQL语句,这样可以限制用户提供的搜索查询和任何URL篡改以创建任意查询。XML