草庐IT

PHP:使用准备好的语句并防止 SQL 注入(inject)与转义

我确实理解准备好的语句是针对SQL注入(inject)寻求保护的final方法。但是,它们提供的覆盖范围有限;例如,在我让用户决定操作顺序的情况下(即它是ASC还是DESC?等),我不会用准备好的语句覆盖那里。我知道我可以将用户输入映射到一个预定义的白名单。但是,这只有在可以预先创建或彻底猜测白名单时才有可能。例如,在我上面提到的情况(ASC或DESC)中,这可以很容易地映射并根据可接受的值列表进行验证。但是有没有出现白名单无法验证SQL语句部分的情况呢?如果存在这种情况,那么推荐的方法是什么?如果我要全面使用底层数据库的内置转义实用程序(例如mysql的mysql_real_esca

php - Symfony 3 - 如何将验证器注入(inject)服务?

我尝试将验证器注入(inject)我的服务-但我没有找到它:mybundle.service.supplier:class:AppBundle\Service\SupplierServicecalls:-[setValidator,['@validator']]@validator不是预期的RecursiveValidatorhttp://api.symfony.com/3.1/Symfony/Component/Validator/Validator/RecursiveValidator.html-@validator是一个接口(interface)。那么我怎样才能将验证器注入(in

php - session 注入(inject)?

我应该如何在session中托管用户ID?只是为了插入ID?我的意思是(例如):$_SESSION['id']=1;没有办法由用户自己更改它(作为cookie..)?因为如果是的话,他可以换成任何id。关于它的另一个问题-我如何检查用户是否登录(使用session)?我创建了一个session:$_SESSION['is_logged_in']=true;同样,用户不能只创建一个名为“is_logged_in”且值为true的session吗?或者只是服务器可以控制服务器的值? 最佳答案 PHP中的所有session变量都存储在服务

php - 如何将内存中的用户提供者注入(inject)到服务中?

我正在关注http://symfony.com/doc/current/cookbook/security/voters.html并尝试创建一个自定义投票器,拒绝访问header中不包含有效APIkey和摘要的请求(受http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html影响-我没有构建身份验证提供程序,因为我需要使用FOSUserBundle提供程序来同样的请求)。我想首先将我的apikey/secret存储在内存中的用户提供程序中,并可能在以后将其迁移到自定义mongo

php - PHP 的 DateTime 类是否从 SQL 注入(inject)中转义日期

通常,我使用PDO的准备语句,类型转换为(int),或PDO::quote()来防止SQL注入(inject)。对于这个应用程序,我需要在将它添加到查询之前使用PHP修改日期。我是否需要采取额外的步骤来防止SQL注入(inject),或者我安全吗?谢谢$date=newDateTime($_GET['suspect_user_provided_date']);$date->add(newDateInterval('P1D'));$sql='SELECT*FROMtableWHEREdateformat('Y-m-d').'"'; 最佳答案

php - Laravel-5.1 将当前登录的用户注入(inject)我的 Controller

如何将当前登录的用户模型注入(inject)我的Controller?例如,在我的Controller中,我目前有:publicfunctionupdate(SaveAccountRequest$request){$user=User::findOrFail(Auth::user()->id);$user->first_name=$request->get('first_name');$user->last_name=$request->get('last_name');$user->email=$request->get('email');if($request->has('pass

php - 检测潜在的 SQL 注入(inject)攻击以及其他安全问题

我们都知道几乎不可能制作一个没有一两个缺陷的大型网站。因此,我编写了一个小型监视器,用于检查Apache访问日志中是否存在潜在的SQL注入(inject)攻击(除其他外),并且运行良好。每当有人尝试攻击时,我都会收到警报,而且我的误报很少,现在默认操作是将它们转储到iptables下拉列表中。它甚至帮助我识别了一些(非安全性)错误并将其删除。这是我的规则(不区分大小写):PathInjection=\./\.\./(bin|boot|data|dev|etc|home|lib|lib64|media|mnt|opt|proc|root|sbin|selinux|srv|sys|tmp|

php - Symfony 3 在 FormType 中注入(inject)容器

如何在Symfony3.0的FormType上注入(inject)容器?我的services.yml文件:services:advertiser.form.report:class:App\AdvertiserBundle\Form\ReportTypearguments:["@service_container"]在ActionController中:$report=$this->get('advertiser.form.report');$form=$this->createForm($report);我得到了这个错误:Expectedargumentoftype"string",

php - MVC 中的依赖注入(inject)

我正在尝试创建简单的MVC框架,但我被依赖项困住了。这是我现在拥有的:$config=newConfig();$database=newDatabase($config);$uri=newUri('article/5');$request=newRequest($uri);$response=newResponse;$router=newRouter;$dispatcher=newDispatcher($request,$response,$router);$dispatcher->dispatch();//Routing,instantiatecontroller,executeac

php - 如何将服务的方法结果作为另一个服务的参数注入(inject)?

我有一个FooService从另一个配置服务获取一些数据。我有配置服务,因为配置因请求数据而异。配置服务注入(inject)了RequestStack并构建了相关的配置数组。我的FooService如下所示:classFoo{private$config;/***@paramConfig$config*/publicfunction__construct(Config$config){$this->config=$config->getData();}}但我更喜欢只注入(inject)getData的方法调用结果,而不是注入(inject)服务,因为这样对于单元测试来说更简单。我不需要