sql-injection相关内容
对于某些 sql 语句,我不能使用准备好的语句,例如: SELECT MAX(AGE) FROM ? 例如,当我想改变表格时.是否有清理 Java 中的 sql 的实用程序?ruby 中有一个. 解决方案 正确的,准备好的语句查询参数只能用于单个文字值.您不能将参数用于表名、列名、值列表或任何其他 SQL 语法. 因此,您必须将应用程序变量插入 SQL 字符串并适当地引用该字符串
..
我已阅读并尝试将易受攻击的 sql 查询注入到我的应用程序中.这还不够安全.我只是将 Statement Connection 用于数据库验证和其他插入操作. preparedStatements 安全吗?而且这个说法也会有问题吗? 解决方案 使用字符串连接从任意输入构建查询不会使 PreparedStatement 安全.看看这个例子: preparedStatement = "
..
让我们谈谈 MySQL 数据库(如果重要的话). 解决方案 不,您不会完全安全.正如其他人提到的,参数化查询总是可行的方法——无论您如何访问数据库. 有点像都市传说,有了触发你就安全了.我认为人们陷入这种错觉的原因是因为大多数人认为您将使用代码中的参数化查询调用过程.但是,如果您不这样做,例如,如果您执行以下操作,那么您就大开眼界了: SqlCommand cmd = new Sq
..
我有一个基于 JSF 构建的 Web 应用程序,其中 MySQL 作为数据库.我已经在我的应用程序中实现了防止 CSRF 的代码. 现在由于我的底层框架是 JSF,我想我不必处理 XSS 攻击,因为它已经由 UIComponent 处理了.我没有在任何视图页面中使用任何 JavaScript.即使我使用,我真的需要实现代码来防止 XSS 攻击吗? 对于数据库,我们在所有数据库交互中使用
..
从我的前任那里接过一些代码,我发现了一个使用 Like 运算符的查询: SELECT * FROM 供应商WHERE supply_name like '%'+name+%'; 试图避免 SQL 注入问题并将其参数化,但我不太确定这将如何实现.有什么建议吗? 注意,我需要一个经典 ADO.NET 的解决方案 - 我真的没有能力将这段代码切换到 LINQ 之类的东西. 解决方案 试
..
我正在使用 Magento 的功能来插入 &更新查询.我的要求是在执行这些类型的查询时我想处理 SQL 注入.但我无法找到 Magento 如何做到这一点.我提供了一个开始样本.请给我一个完整的例子. getConnection("core_write");$sql = "INSERT INTO Mage_Example(姓名、电子邮件、公司、描述、状态、日期)值 ('$name', '$ema
..
我需要保护应用程序免受 SQL 注入.应用程序正在连接到 Oracle,使用 ADO,并搜索用户名和密码进行身份验证. 从我到现在为止所读到的,最好的方法是使用参数,而不是将整个 SQL 分配为字符串.像这样: query.SQL.Text := 'select * from table_name where name=:Name and id=:ID';查询.准备;query.Param
..
我知道SQL 注入相当危险.现在在我的 C# 代码中,我使用 编写参数化查询SqlCommand 类: SqlCommand 命令 = ...;command.CommandText = "SELECT * FROM Jobs WHERE JobId = @JobId;";command.Parameters.Add("@JobId", SqlDbType.UniqueIdentifier ).
..
我需要避免在我的 ASP.NET 应用程序中受到 SQL 注入的影响.我如何才能做到这一点? 解决方案 尽管您的问题很笼统,但有一些规则始终适用: 使用参数化查询(SqlCommand 和 SqlParameter)并将用户输入放入参数中. 不要根据未经检查的用户输入构建 SQL 字符串. 不要假设您可以构建一个可以检查用户输入的各种格式错误的清理例程.边缘情况很容易被遗忘.检查
..
为什么我们需要像 mysql_real_escape_string() 这样的特定于数据库的函数?addlashes() 不能做什么? 暂时忽略参数化查询的优越替代方案,专门使用 addlashes() 的 web 应用程序是否仍然容易受到 SQL 注入的攻击,如果是,怎么办? 解决方案 Addslashes 在处理多字节编码字符串时通常不够好.
..
我是 ASP.NET 的初学者,所以我对如何防止 ASP.NET 中的 SQL 注入有一些疑问.我的编程语言是 VB.NET,而不是 C#,而且我使用 Microsoft Access 作为我的数据库. 我的问题是: 如何保护我的数据库免受 SQL 注入? 我一直在阅读其他论坛的帖子,他们说使用参数带有存储过程,参数带有动态 SQL.它们可以在 Microsoft Access 数据
..
构建我的第一个 web 应用程序并希望更好地理解 SQL 注入 (https://github.com/astaxie/build-web-application-with-golang/blob/master/en/eBook/09.4.md). 仅仅总是使用“database/sql"库并使用“?"构造查询,我可以获得多少针对 SQL 注入的保护?而不是连接字符串?在这种情况下,我还需要
..
我们有大量依赖动态 SQL 的 SQL Server 存储过程. 存储过程的参数在动态 SQL 语句中使用. 我们需要在这些存储过程中使用标准验证函数来验证这些参数并防止 SQL 注入. 假设我们有这些限制: 我们不能重写程序以不使用动态 SQL 我们不能使用 sp_OACreate 等来使用正则表达式进行验证. 在将参数传递给存储过程之前,我们无法修改调用存储
..
真正的 PHP 安全专家,PDO 是要走的路还是我可以使用 Codeigniter 的 Active Record 类? 我已阅读http://codeigniter.com/forums/viewthread/179618/并且我不是 100% 相信. 我通常会向 Chris Shiflett 和 OWASP 等专家寻求安全提示.http://shiflett.org/blog/2006
..
关于 Codeigniter 及其输入处理能力的一些疑问.有些可能有点奇怪,但他们仍然怀疑. 如果我在 CodeIgniter 中使用 Active Record 类函数,我的输入是否被阻止SQL注入? 我在某处读到它确实如此,但我不明白它是如何做到的?或者为什么? xssclean 是否也以任何方式处理 SQL 注入? 解决方案 我的输入是否可以防止 SQL 注入?
..
在 CodeIgniter 中,如何避免 sql 注入?有没有什么方法可以在配置文件中设置以避免sql注入?我正在使用此代码来选择值: $this->db->query("SELECT * FROM tablename WHERE var='$val1'"); 这用于插入值: $this->db->query("INSERT INTO tablename (`var1`,`var2`) VA
..
我刚刚继承了一个项目,因为最后一个开发人员离开了.该项目是基于 Code Igniter 构建的.我以前从未使用过 Code Igniter. 我快速浏览了代码,我看到控制器中的数据库调用如下: $dbResult = $this->db->query("SELECT * FROM users WHERE username = '".$_POST['user_name']."'"); 或
..
我希望让我的网站免受 SQL 注入攻击.有没有人有任何好的链接来使站点免受 ASP.NET 站点(c#、Web 表单)中的这些类型的攻击? 编辑: 我应该指出我正在使用实体框架 解决方案 第一道也是最好的防线是不要使用动态 SQL. 始终使用参数化查询. 查看 关于 SQL 注入的 OWASP 页面.
..
我正在使用休眠开发应用程序.当我尝试创建登录页面时,出现了 Sql 注入的问题.我有以下代码: @Component@Transactional(传播=传播.支持)公共类 LoginInfoDAOImpl 实现 LoginInfoDAO{@自动连线私人会话工厂会话工厂;@覆盖public LoginInfo getLoginInfo(String userName,String password
..
我有这个代码 UPDATE OPENQUERY (db,'SELECT * FROM table WHERE ref = ''"+ Ref +"'' AND bookno = ''"+ Session("number") +"'' ') 我将如何防止 SQL 注入? 更新 这就是我正在尝试的 SqlCommand cmd = new SqlCommand("Select * fr
..