草庐IT

INJECT_EVENTS

全部标签

php - Slim Framework 中的依赖注入(inject)——将 Container 传递到你自己的类中

我已经评论过这个话题,但它似乎已经死了所以我打开一个新的:DependencyInjectionSlimFramework3上面的帖子解释了如何将SlimsContainer传递给您自己编写的类。但是,OP询问是否有可能让Slim依赖注入(inject)ALL他们的类。我也很想知道是否有办法做到这一点,因为如果您必须将容器传递给您想要使用它的每个类,它似乎只是DRY。举个例子,如果我想使用Slim的一个功能(比如做一个重定向,在我自己的类中)我不能按照文档使用它:$res->withStatus(302)->withHeader('Location','your-new-uri');因

php - 为什么这个 MySQLI 准备语句允许 SQL 注入(inject)?

今天教学生如何防止SQL注入(inject)时,我有点尴尬。在专业项目中,我使用准备好的语句/参数化查询作为防止SQL注入(inject)的一层(尽管我从未专业地使用过mySQL)。理论上,我认为使用准备好的语句时,SQL注入(inject)是不可能的。但后来这奏效了......$Search=$_GET['s'];$stmt=$mysqli->prepare("SELECT*FROMproductsWHEREid=?");$stmt->bind_param("i",$Search);$stmt->execute();$Results=$stmt->get_result();如果我传递

JavaScript 被注入(inject)我的 PHP 页面

我有一个网站,我刚刚发现有人以某种方式在我的页面上注入(inject)了JavaScript。我怎样才能弄清楚它的作用以及他们是如何做到的?varx=unescape("%68%(****someotherhexcharactershere****%74%2e%63%6e%2f%76%69%64");document.write("");我不确定是怎么到那里的。有谁知道它是怎么到那里的?我可以做些什么来删除它? 最佳答案 你现在需要知道这个:我们在Linode经常看到这种情况,这表明您的服务器已被攻击者入侵。如果未转义,则可能是会感

php - 何时使用 Facades 何时注入(inject)依赖

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我目前正在使用Laravel-4在php中构建一个网络应用程序,但是,我怀疑这个问题也适用于其他语言和框架。我已阅读有关依赖注入(inject)和Facades的内容,并了解每种情况下的必要编码。我不清楚的是什么时候应该使用一个而不是另一个?在Facade设计模式上使用任何一种依赖注入(inject)的优点/缺点或仅仅是原因是什么?非常感谢

php - Symfony 依赖注入(inject) : How to represent Closure in YAML service definitions?

我有一项服务在尝试使用调用设置它时需要关闭:在SymfonyDIYAML文件中。Illuminate\Queue\QueueManager:arguments:app:"@app"calls:-[addConnector,["@Illuminate\\Queue\Connector\NullConnector"]]我想知道是否可以将服务封装到闭包中,因为库代码不允许我插入任何其他内容。publicfunctionaddConnector($driver,Closure$resolver){$this->connectors[$driver]=$resolver;}有没有办法在Symfo

PHP 依赖注入(inject)和松散耦合

我正在考虑几种不同的方法,非常感谢您提供一些意见!我正在考虑以下两个选择。那里有两件事我有疑问。是将依赖项注入(inject)主“容器”类的构造函数,还是在容器类中创建新实例?在第二个示例中,类的依赖项通过构造函数注入(inject),然后通过类的属性在内部进行维护。然后,当调用方法(route()、render())时,从内部调用依赖项。我从这种方法开始,但现在我更喜欢第一个例子中的方法。我认为第一个示例更可取,但是在第二个示例中使用DI方法有什么好处吗?确实没有必要在类中存储任何东西作为属性。我可能可以毫不费力地重新安排所有内容以使用该技术,而且我认为我更喜欢它。这样我也可以将所有

PHP 注入(inject)另一个用户 session

由于每个用户都有一个唯一的PHPSESSID,两个用户是否可以使用在服务器上运行的标准PHP将信息注入(inject)到b的SESSION数据中。注意,我没有将它用于任何错误的目的。尝试在没有数据库访问权限的情况下使用它进行聊天。感谢您的宝贵时间。 最佳答案 我假设您想通过发送一条放置在Bsession中的消息以某种方式与A聊天。首先,A需要了解B的sessionID,可能是通过从列表中选择他们的名字。您几乎肯定想要加密这些sessionID,否则您已经创建了一个很好的安全漏洞!因此,A将包含目标sessionID和消息的数据发布到

PHP - 多个不同的数据库依赖注入(inject)类

在过去的几个小时里,我一直在努力寻找一种“最佳”、“最合乎逻辑”的方法来编写一个php数据库类,以同时连接到一个postgresql数据库和一个mysql数据库。另外,我想采用依赖注入(inject)设计,但对整个概念还是陌生的。到目前为止我已经想到了...classDatabase{publicfunctionPgSqlConnect(){/*Connecttodatabase*/$host='localhost';$dbname='---';$user='---';$pass='---';$timeout=5;/*seconds*/try{$pgsql_dbh=newPDO("pg

php - (int) 和 is_int() 是否可以安全地防止 SQL 注入(inject)?

所以我想知道这是否足以确保用户不会进行任何SQL注入(inject)并且数字将只是且始终是整数?getArticle函数中的$id绑定(bind)到SQL查询。getArticle($id)?>据我测试,它运行良好,但由于我不完全确定我宁愿问你guyz!好的,人们说准备好的语句可以解决问题。他们真的会吗?比如,我能完全确定如果将参数绑定(bind)为整数,它将是整数吗?提前致谢! 最佳答案 您可以简单地将它们转换为正确的类型:$number=intval($_GET['id']);$string=mysql_real_escape_

php - 上传表单中的空字节注入(inject)

我正在尝试在上传表单上重现空字节注入(inject)攻击。我有这段代码:Fileuploaded';elseecho'Cannotupload';}elseecho'Thisisnotavalidfile/b>';?>我正在尝试上传一个这样命名的文件:file.php%00jpg这样它将绕过substr()并将作为file.php上传,因为move_uploaded_file()应该停止在空字节(%00)。问题是上传的文件在服务器上的名称不是file.php而是file.php%00jpg(可以通过输入/file.php%2500jpg在url栏中)。看起来move_uploaded_