草庐IT

assisted-inject

全部标签

PHP 依赖注入(inject) - 在构造函数中包含类名

我是OO的新手,但正在四处阅读并尝试学习以“正确”的方式做事。我一直在阅读依赖注入(inject),并且可以理解为什么它是一件好事,但是我对语法并不完全清楚。例如看这个BasicPHPObjectOrientedInstantiationandDependencyInjection关于SO的问题我复制了完全相同的代码(按照答案建议进行更改)然后打印出方法返回的内容:$author=newAuthor('Mickey','Mouse');print$author->getFirstName();$question=newQuestion('whatdayisit?',$author);p

PHP - 如果自动加载,为什么要使用依赖注入(inject)?

请原谅这个问题可能很天真,但我真的很困惑。似乎使用依赖注入(inject)来解耦代码是一种很好的做法,这样您的类就可以加载它们的依赖关系。请想象下面的类Foo依赖类BarnamespaceClasses;classFoo{protectedbarInstance;publicfunction__construct(Bar$barInstance){$this->barInstance=$barInstance;}}但是,如果您要自动加载您的类,那么下面的代码肯定会在不需要DI的情况下做完全相同的事情吗?namespaceClasses;useClasses/Bar;classFoo{p

php - 交响乐 2 : why injecting kernel into service is bad idea?

我需要在我的服务中获取当前的应用程序环境。我发现我可以从内核中获取它,但是很多人说注入(inject)内核是个坏主意。有人能解释一下为什么实际上它被认为是不好的做法吗?这不是比将整个容器注入(inject)我的服务更好的解决方案吗?my_app.my_not_so_great_service:class:AppBundle\Services\AppServicearguments:-"@kernel" 最佳答案 RichardMiller[0]的一篇文章解释了这个问题。其要点是,依赖于当前的应用程序环境是一种设计不当的架构的代码味道

javascript - 单击时将 GET 参数注入(inject)按钮的目标 URL

我有多个类为myButton的按钮。每个按钮都有一个值,该值在单击时发送到服务器。按钮的目标URL看起来像这样:http://mysite/test/test.html?cid=15在我点击按钮后,应该将以下GET参数添加到URL,然后应该提交按钮:mySessionVar=1所以新的URL应该是这样的:http://mysite/test/test.html?cHash=d009eb3f9f4e1020435b96a8f7251ad5&mySessionVar=1为什么我要注入(inject)它?我正在使用流体。据我所知,不可能使用JavaScript操作流体标签。但是,我需要将se

php - Laravel _ 如何将查询注入(inject) Auth::user()

我正在用laravel写博客。当我查看用户身份验证时,我遇到了一些问题。我有2个表,一个是users:id,name,...另一个是role:user_id,privilege..我需要检查用户是否是管理员,我需要一个像isAdmin()这样的函数或$isAdmin属性。这是我放在app/providers/AuthServiceProvider.php中的函数:privatestatic$isAdmin;publicstaticfunctionisAdmin(){if(isset(self::$isAdmin)){returnself::$isAdmin;}$user_privile

php - 如何将数据库中的php代码注入(inject)到php脚本中?

我想将php代码存储在我的数据库中,然后在我的脚本中使用它。classA{publicfunctiongetName(){return"lux";}}//instantiatesanewA$a=newA();在我的数据库中有这样的数据"hello{$a->getName()},howareyou?"在我的php代码中,我将数据加载到变量$string$string=load_data_from_db();echo$string;//echoeshello{$a->getName()},howareyou?现在$string包含“你好{$a->getName()},你好吗?”{$a->g

php - 准备好的语句会完全保护我的网站免受 MySQL 注入(inject)吗?

我在查询中使用准备好的语句和MySQLi来防止注入(inject)攻击。准备好的语句会完全消除对mysql_real_escape_string的需要吗?在保护我的网站时,还有什么我应该考虑的吗? 最佳答案 只要您正确使用准备好的语句,它们就可以。您必须确保绑定(bind)所有外部变量,而不是将它们直接放在查询中。例如$stmt=$mysqli->prepare("SELECTDistrictFROMCityWHEREName=".$name);正在准备此语句,但它没有使用任何一种绑定(bind)方法,因此没有任何用处。它仍然容易受

php - 这个脚本容易受到 LFI(本地文件注入(inject))的攻击吗?

我想知道这个小片段是否受到本地文件注入(inject)漏洞的影响。我知道可以通过在请求中放入“%00”(空字节)来忽略任何内容。但是如果/some/dir/目录下没有以'prefix_'开头的子目录,是否可以利用呢?怎么办?在此先感谢您的回答。 最佳答案 你的意思是这样的吗?$lang.='en/../../../../../etc/passwd'.0x00;你可以通过以下方式避免这种情况$path='/some/dir/prefix_'.$_GET['path'].'whatever';$path=realpath($path);

php - 这是过滤数据和防止 SQL 注入(inject)和其他攻击的安全方法吗?

我创建了两个简单的函数来过滤插入的数据,然后再将其输入到mysql查询中。对于表单字段(我也使用正则表达式来单独检查每个字段。//Formfilterfunctionfilter($var){//HTMLisnotallowed$var=strip_tags(trim($var));//Checkmagicquotesandstripslashesif(get_magic_quotes_gpc()){$var=stripslashes($var);}//Notusingitrightnow,isitrecommended?//$var=htmlentities($var,ENT_QUO

php - 防止 SQL 注入(inject)

我正在尝试学习php并想使用一个函数来保护表单免受SQL注入(inject)攻击!但是以某种方式记录我的数据库中的每个数据,其中包含任何特殊字符,如'"=)/()/*/我的过滤函数:functionfilter($data){$data=trim(htmlentities(strip_tags($data)));if(get_magic_quotes_gpc())$data=stripslashes($data);$data=mysql_real_escape_string($data);return$data;}注册页面获取POST数据:foreach($_POSTas$key=>$