草庐IT

SQL注入之Quine注入

全部标签

php - 不太了解SQL注入(inject)

我已经阅读了很多有关sql注入(inject)的文章,并且我了解它是如何导致问题的(即:DROPTABLE__等)。但我不确定我所遵循的教程实际上是如何防止这种情况发生的。我只是在学习PDO,我想我明白了。这段代码可以避免SQL注入(inject)吗?,为什么?(使用这些准备好的语句需要做更多的工作,所以我想确保我不是在浪费时间-如果代码可以改进,请告诉我!)$conn=newPDO("mysql:host=$DB_HOST;dbname=$DB_DATABASE",$DB_USER,$DB_PASSWORD);//Getthedata$firstname=$_POST["v_firs

PHP 从数组中获取最高值(从 SQL 选择)

我有2个表:dt_times和dt_reportsdt_times包含时间列表,dt_reports包含对相关时间的投票(正面/负面)。我的代码执行以下操作:选择今天之前的所有时间对于每个时间-计算边距((positive-negative)/positive)*100结果存储在数组中在所有迭代之后,这里是id=>margin的var_dumparray(8){[111]=>int(100)[110]=>int(-100)[108]=>int(-100)[100]=>int(100)[97]=>int(100)[92]=>int(100)[59]=>float(-71.42857142

php - 为什么我的 PHP 代码没有更新 SQL

有谁知道为什么这个PHP代码不更新pictures列,它会更新其余部分,但不会更新pictures列,它是更新用户信息所以电子邮件地址,密码和图片我对PHP很陌生,所以我真的不知道在查找错误时要查找什么$_POST['email']);try{$stmt=$db->prepare($query);$result=$stmt->execute($query_params);}catch(PDOException$ex){die("Failedtorunquery:".$ex->getMessage());}$row=$stmt->fetch();if($row){die("ThisE-M

php - 在 X 段之后注入(inject)代码但避免使用表格

我想在X段之后注入(inject)一些代码,这使用php很容易。publicfunctioninject($text,$paragraph=2){$exploded=explode("",$text);if(isset($exploded[$paragraph])){$exploded[$paragraph]='MYCODE'.$exploded[$paragraph];returnimplode("",$exploded);}return$text;}但是,我不想注入(inject)我的$text在里面,那么如何避免这种情况呢?谢谢 最佳答案

php - 在 Laravel 中,使用 App::make ('' ) 而不是构造函数注入(inject)有什么缺点吗?

通常我会通过构造函数注入(inject)依赖项,但是当父类具有依赖项并且必须将它们传递给所有子类时,它会变得非常冗长。另一种方法是在父类中单独使用$this->dependancy=App::make('Dependancy')。那么父子构造函数都可以为空。这样做有什么缺点吗? 最佳答案 您的方法有一个缺点,按照您的建议进行操作会使您的应用程序的可测试性降低。我的意思是,如果您尝试为父类编写单元测试,您将不再孤立地测试该父类。您的测试现在还取决于父类内部声明的依赖项的结果。如果您通过构造函数注入(inject)(或任何类型的注入(i

php - Laravel 依赖注入(inject)与继承

假设我有以下情况:config=$config;}}classClientServiceextendsService{}classProductServiceextendsService{}是否可以在我的服务提供者中为我的服务的抽象父类注册依赖注入(inject)?我有一个根据规范动态生成的API,这些类中的每一个都必须扩展抽象服务,以便它可以继承基本功能。当我实例化一个子服务时,如何在我的抽象服务中注入(inject)依赖?编辑:这个问题是专门针对抽象类注入(inject)提出的,不可能绑定(bind)自动生成的子类。 最佳答案

php - 避免 yii2 中的 sql 注入(inject)

如何在将查询参数插入表之前对其进行过滤以防止sql注入(inject)?有这样的代码:$QueryParams=Yii::$app->request->getQueryParams();$model=newAccounts();$model->attributes=$QueryParams;$connection->createCommand()->insert('accounts',$model->attributes)->execute();这种方法安全吗? 最佳答案 该方法是安全的,但还有更好的方法:$model=newAcc

php - 从 MS SQL 中的 PHP PDO 存储过程返回 Select *

对于future的用户:这个问题的底部包含更正后的工作代码。我知道Select*不是最好的,但在这个例子中,我试图从php调用一个存储过程并返回整个结果集,这样我就可以在我的代码中循环遍历数组。这是我当前的存储过程:USE[hanoncs_AskMe]GOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETNOCOUNTON;GOCREATEPROCEDURE[hanoncs_hanoncs].[CommentsTemp]@QuestionIDINTASBEGINBEGINTRANSACTIONIFObject_id('#viewquestionco

php - Laravel 测试服务依赖注入(inject)错误

从结论开始,我得到了这个错误:[ErrorException]Argument1passedtoSomeValidatorTest::__construct()mustbeaninstanceofApp\Services\Validators\SomeValidator,nonegiven,calledin....vendor/phpunit/phpunit/src/Framework/TestSuite.phponline475anddefined在Laravel应用程序中,我有一个名为“SomeValidator.php”的脚本,如下所示:dependency=$someDepen

php - PDOException : SQLSTATE[IMSSP]: Tried to bind parameter number 65536. SQL Server 最多支持2100个参数

好吧,我遇到了一个非常奇怪的PDOException,我似乎无法理解。这是生成的异常:PDOException:SQLSTATE[IMSSP]:Triedtobindparameternumber65536.SQLServersupportsamaximumof2100parameters.inD:\Work\CEUR16-004\Project\www_root\includes\scripts\php\libCore\products.php:169Stacktrace:#0D:\Work\CEUR16-004\Project\www_root\includes\scripts\p