草庐IT

SQL注入之Quine注入

全部标签

php - 如何在完整的 OO 应用程序中处理依赖注入(inject)

我在类设计上遇到了难题。我尽力遵守SOLID原则,但我不知道如何处理依赖注入(inject)。这是我的困境:我读到在类中实例化对象以避免引入依赖性是一种不好的做法。那么在一个完整的对象应用程序中,我们的依赖应该在哪里创建呢?在一个只负责依赖实例化的特殊对象中?如果是,这个对象的名称是什么以及如何定义它?就是我们所说的“控制者”吗?这个“Controller”,对它进行单元测试的正确方法是什么?我们应该对其进行单元测试吗?在完整的POO应用程序中,如何避免在类之间传递我们的对象(通常是相同的)?例如,一个DB对象,Log,...这样,我们冒着拥有带有许多参数的构造函数的风险,不是吗?为了

php - Laravel 4 Controller 中的依赖注入(inject)实例所有对象

我想在Laravel4Controller中编写可测试的代码。我知道DI(依赖注入(inject)),我知道可测试代码可能如下所示:classUsersControllerextendsBaseController{publicfunction__construct(User$user,Notice$notice){$this->user=$user;$this->notice=$notice;}publicfunctiongetIndex(){...$this->user...$this->notice...}publicfunctiongetPage(){...$this->use

PHP,生成带格式的字符串,检查 SQL 数据库?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我正在尝试使用PHP作为一种在网页中处理此问题的方法,我的典型语言是java,所以我不熟悉如何为产品key完成此操作。基本上是这样的过程:1.GeneraterandomstringwithformatXX-XXXX-XXXX-XXXamixofnumbersandletters.2.CheckifitalreadyexistsinanSQLdatabase3.Ifexists,generateanoth

PHP、SQL、用户数据库

我希望我正确地格式化了代码。我无法使这个if语句起作用。我已经搜索过,从中可以看出这条语句应该有效。但是,当我运行它时,如果用户名以kacey开头,则无论密码如何,它都会转到echo"Loggedinas:"。凯西;同样,如果我将输入输入kaceyfeewaf,它仍会转到echo"Loggedinas:"。$myuser;无论我输入的密码如何,都会发生这种情况。$result['username']行应该验证KACEY。$sql="SELECT*FROM$dbTableWHEREusername=$myuserANDpassword=$mypass";$result=mysql_que

php - 将依赖注入(inject)容器传递给静态方法

我有一些传统类(class)。许多类是使用工厂类实例化的。还有一个单例类。将来我想用DIC完全取代它们。目前代码库很大,无法做到这一点。现在我的目标是将DI-Container注入(inject)到Singleton类实例化的每个服务中。Singleton类有一个带有此签名的静态方法。finalclassSingleton{privatestatic$singletonCache=array();publicstaticfunctiongetInstance($namespace,$className){}}我想检查这个函数的内部:$instance=new$className();i

php - PHP 特征中的依赖注入(inject)

traits真的可以和依赖注入(inject)一起工作吗?考虑以下代码:特质等级namespaceFrame\Slick\Block;useFrame\Slider\Slick\Block\DataasHelpertraitSlick{protected$_slickHelper;publicfunction__construct(Helper$slickHelper){$this->_slickHelper=$slickHelper;}}使用特征的类namespaceFrame\Slick\Block;classProductListProductimplementsBlockInt

php - (2/2) QueryException SQLSTATE[HY000] [1049] 未知数据库 'homestead' (SQL : select count(*) as aggregate from `users` where `email` =

我想试试laravel的注册表格,我必须在.env文件中插入我的数据库信息。DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=blogDB_USERNAME=rootDB_PASSWORD=admin在我的config/database.php文件中,我还将值更改为我当前的数据库'mysql'=>['driver'=>'mysql','host'=>env('DB_HOST','localhost'),'port'=>env('DB_PORT','3306'),'database'=>env('DB_DATABASE

PHP 与 SQL Server 2005+

目前我们有一个连接到SQLServer2005数据库的混合ASP/PHP设置。但是所有的查询工作都是在客户端完成的,我想将其中的一些转移到PHP中。连接到SqlSvr需要什么驱动程序和/或连接字符串以及在PHP中使用的语法是什么?更新:好的,所以我肯定会尽量避免使用任何与复制DLL等有关的东西。我会研究SQL2K5PHP司机(感谢文森特)。@jcarrascal为了清楚起见,“客户端”是指我们的应用程序是一个内部网络应用程序,作为HTA运行。,所有查询都是通过javascript调用ASP完成的,ASP实际提交了数据库请求。 最佳答案

php - 您如何保护您的网站免受 PHP 中的本地文件包含和 SQL 注入(inject)?

如何保护您的网站免受本地文件包含和SQL注入(inject)(PHP)攻击? 最佳答案 有许多措施需要采取。确保在存储到数据库之前清理所有输入。我建议使用mysql_real_escape_string()关于将要存储的所有数据。将字符输入限制在合理的长度内,并确保您获得该字段所期望的数据类型。锁定提交特定数据区域的多次尝试。抓取上传文件的内容以查找恶意模式。Wikibooks有一章是关于SQL注入(inject)的;http://en.wikibooks.org/wiki/Programming:PHP:SQL_Injection

php - 格式化 sql/php 代码的更聪明的方法?

我有一个很大的SQL语句,有什么“更聪明”的方法来格式化这些东西吗??$serverFields='SERVER_ID,SERVERNAME,SERVERLOCATION_ID,SERVERLOCATIONDETAIL_ID,SERVEROS_ID,SERVEROSVERSION_ID,IP_BACKEND,IP_FRONTEND,IP_BACKUP,SERVERREMOTETOOL_IDS,LOGIN,DESCRIPTION,TIME_INSERT,TIME_UPDATE,CHANGE_USER,MANDATOR_ID,TIVOLI_UPDATABLE,TIVOLI_LAST_SCA