sql-injection相关内容
我指的是我对另一个问题的回答,另一位用户批评它因为容易受到 SQL 注入,甚至如果没有请求用户输入并调用转义程序.以下代码用于创建 SQLite 数据库的 .sql 转储,仅使用 PHP 代码,不调用 sqlite3 工具(这是问题作者的原始请求). busyTimeout(5000);$sql="";$tables=$db->query("SELECT name FROM sqlite_mas
..
我正在开发一个使用 sqlsrv 驱动程序的 PHP MSSQL 项目.阻止 SQL 注入攻击的最佳方法是什么?我需要像 mysql_real_escape_string() 这样的东西,但是对于 sqlsrv 驱动程序. 解决方案 最好的方法是不要编写您的 SQL,因此您需要使用 mysql_real_escape_string() 的类似物,您可以这样做通过对值使用占位符,然后在执行语
..
请先阅读全文 在这个答案中:如何防止动态 SQL 注入表名? Pekka 指出了这段代码的原因: $clas=$_POST['clas'];$query="SELECT * FROM $clas "; 无法使用 PDO 或 mysql-real_escape_string() 修复. 谁能提供示例代码如何解决这个问题,以便新手可以粘贴该代码 (根据他的需要调整之后)并避免
..
我正在尝试找出一种简单的方法来避免 SQL 注入,但到目前为止我只能提出两个想法: Base64 对用户输入进行编码(真的不想这样做) 使用正则表达式删除不需要的字符.(目前正在使用这个,不确定它是否 100% 安全) 这是我当前的代码: query("SELECT [FILE] FROM '$hash'")){echo $response->fetchArray()[0];//
..
我已经阅读了 oracle 提供的文档这里,其中说明: 绑定对于 Oracle 数据库性能很重要,也是避免 SQL 注入安全问题的一种方式. 使用 oci_bind_by_name 转义变量有多安全?是否有更好的做法来避免 SQL 注入,或者 oci_bind_by_name 是否就足够了? TIA! 解决方案 在常见情况下使用绑定参数就足够了,也是避免 SQL 注入的好
..
我需要将 Javascript 中定义的字符串插入到 MSSQL 表中. 这是我目前所拥有的: Javascript: var message = "今天是个好日子!";$.post('www.server.com/message='+message, function(response){控制台日志(响应);}); Node.js 服务器: //..... 已经用了一堆代码来接
..
我目前正在实施一个 Vapor 4 应用程序,它将用于管理机器.用户应该能够搜索机器名称,这是我通过 完成的 .filter(Machine.path(for: \Machine.$name), .contains(inverse: false, .anywhere), term) 其中 term 是用户提供的任意 String.代码本身按预期工作,但我想知道是否存在 SQL 注入漏洞(或其
..
我希望用户能够选择显示的订单结果,例如按年龄),我不想在从数据库中获取它们后对它们进行排序. 显然,如果用户能够指定影响 SQL 命令的输入,则需要对其进行清理,我通常会使用参数化,但 pysqlite 似乎忽略了除值之外的任何参数. 下面的示例代码显示参数化不适用于 ORDER BY,以及使用字符串格式的解决方法,但容易受到 SQL 注入. 允许用户输入影响排序顺序而不暴露 S
..
DBMS_ASSERT 是 Oracle 中防止 SQL 注入攻击的关键之一.我粗略地搜索了一下……是否有与此功能等效的 SQL Server 2005/2008? 我正在寻找一个特定的实现,它具有 DBMS_ASSERT 的所有相应 Oracle 包成员的对应物. NOOP SIMPLE_SQL_NAME QUALIFIED_SQL_NAME SCHEMA_NAME 我知
..
include "../admin/site.php";//设置数据库连接.$appid = -1;如果 (is_string($_GET["id"])){$id = mysql_real_escape_string($_GET["id"]);$sql = "select * from version where id=$id";$ver = mysql_query($sql);if ($id >
..
那么,如果代码的某些部分容易出现sql注入,那么至少用户如果碰巧使用的前端没有对所有内容都具有通用写入权限的情况下,至少不能向数据库写入任何内容? 解决方案 是的,我认为让用户使用仅允许他们使用站点所需的最低权限的帐户进行连接是一种很好的做法.如果您的网络用户应该只从数据库中读取数据,那么我肯定会创建一个只有读取权限的帐户,并让他们通过它访问数据库. 更重要的是保护您的网络应用程序.
..
我做了一些研究,但仍然很困惑,这是我研究的结果.有人可以评论并建议我如何使这些更好,或者是否已经有我可以使用的坚如磐石的实现? 方法一: array_map('trim', $_GET);array_map('stripslashes', $_GET);array_map('mysql_real_escape_string', $_GET); 方法二: function filter(
..
在“如果它像鸭子一样走路,听起来像鸭子"的原则下,似乎亚马逊的 SimpleDB 支持的 SQL 风格的查询应该容易受到 SQL 注入类型的攻击.这是一个简单的例子,假设攻击者的输入进入变量 $category,并且他可以猜测列名: $category = "衣服' OR Category LIKE '%";$results = $sdb->select("SELECT * FROM `{$do
..
我目前正受到以下形式的 URL 的攻击: /act/test.php?CourseId=66'+and(%2f**%2fsElEcT+1+%2f**%2ffRoM(%2f**%2fsElEcT+count(*),%2f**%2fcOnCaT((%2f**%2fsElEcT(%2f**%2fsElEcT(%2f**%2fsElEcT+%2f**%2fcOnCaT(0x217e21,ifnull(M
..
我需要修复分配给我们维护的非 IT 应用程序中的一些安全问题.它位于 Microsoft Access 前端(SQL Server 后端). 有谁知道是否可以通过 Microsoft Access 控件的 RecordSource 或 RowSource 属性进行 SQL 注入?例如,如果我将列表框的记录源设置为 Me.SomeListBox.Recordsource = 'SELEC
..
从今天凌晨开始,我们就开始关注我们电子商务商店中的搜索查询.我了解它的 SQL 注入.我们也在使用参数化查询.所以它没有造成任何伤害.但由于查询的长度,全文搜索需要时间来处理,最终超时和网站挂了一段时间. 立即,我将搜索的最大承租人限制为 75,并添加了检测 sql 注入的逻辑并防止它到达 sql server 作为额外的安全. 我们的环境:ASP.Net 电子商务网站具有全文搜索功能
..
可能的重复: PHP:终极清洁/安全功能 我在这里找到了这个代码片段:http://snipplr.com/view/12853/clean-variables-from-sql-injections/ 作者声称: 这个小函数有助于解决 SQL 注入的常见安全问题,它可以清理任何全局变量,如 $POST、$GET、$_SERVER 等,并转义不安全的字符. 这段代码安全吗
..
我正在学习 RoR/数据库,这个话题让我特别困惑.在Agile Development with Rails 4 一书中,他们给出了一个示例,用于查找名称为 Dave 的条目的所有订单列表: pos = Order.where("name = 'Dave' and pay_type = 'po") 这本书接着说,你永远不会想做这样的事情: name = params[:name]pos =
..
如果您能提供有关此方案在抵御 SQL 注入攻击方面的安全性的反馈,我将不胜感激. 在前端,用户输入个人信息:姓名、地址、电话号码、电子邮件和一些自由格式的文本. 后端使用 C++ 从头开始编写,没有框架支持,并集成了 SQLite. C++ 代码不使用 SQLite 准备好的语句(由于历史原因,现在做任何事情都为时已晚).相反,所有 SQL 语句都构造为 printf 样式的
..
我对采埃孚安全没有任何概念.对数据库进行操作时是否必须使用过滤器?也许绑定就足够了?这个怎么样: $users->update($data, 'id=1'); $data 数组应该以某种方式过滤吗?随意写下您对此问题的任何了解. 您能否提供一些关于 ZF 安全性(主要是 SQL 注入和 XSS)的好文章的链接? 解决方案 简短回答 尽管 ZF 采取并提供了一些措施来保护您的应用
..