asp-classic – 如何在经典的asp中制作一个预防sql注入的预处理语句?
发布时间:2020-05-25 05:16:05 所属栏目:asp.Net 来源:互联网
导读:我有这个有效: sqlString = SELECT * FROM employees WHERE lastname = last_name Set cmd = Server.CreateObject(ADODB.Command)Set cmd.ActiveConnection = dbConncmd.CommandText = sqlStringcmd.Prep
|
我有这个有效: sqlString = "SELECT * FROM employees WHERE lastname = '" & last_name & "'"
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = dbConn
cmd.CommandText = sqlString
cmd.Prepared = True
Set recs = cmd.Execute
我遇到的问题是sqlString的动态部分之上是在准备好的语句命令之前.我不认为我上面的东西在保护我. 在执行预准备语句之前,我不必修复此sqlString吗?读这篇文章让我觉得:How can prepared statements protect from SQL injection attacks?: “虽然在准备好的声明中,我们不会改变我们的计划,但它仍然完好无损 我们首先将程序发送到服务器 $db->prepare("SELECT * FROM users where id=?");
其中数据被称为“占位符”的变量替换 $db->execute($data); 所以,它不能改变我们的计划并造成任何伤害. 但我不知道如何使我的查询正确.我也不知道他是如何准备$data的.希望得到指导.谢谢. 解决方法为什么不使用ADO命令参数?var oCmd = Server.CreateObject("ADODB.Command");
oCmd.CommandText = "SELECT * FROM employees WHERE lastname = ?";
oCmd.Parameters.Append(oCmd.CreateParameter(undefined,202,1,50,"last name"))//adVarWChar (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – @ Html.ActionLink和@ Html.DisplayFor同
- asp.net-mvc-4 – 我似乎没有安装SignalR与MVC4
- ASP.NET Core RC2配置自定义AppSettings
- Asp.net服务器端代码块说明
- 在ASP.NET Web应用程序中有未处理的异常是否可以接受?
- asp.net-mvc – 使用mvc-mini-profiler
- asp.net-mvc – HttpResponse.RemoveOutputCacheItem不工作
- asp.net – 使用Global.asax有什么优点和缺点?
- asp.net-mvc – 从桌面开发人员的角度来学习ASP.NET MVC的建
- asp.net-identity-2 – 没有实体框架的ASP.NET Identity 2.
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC下拉列表
- ASP.Net中的Vb6“Tag”属性等价物?
- asp.net – 如何添加一个访问控制允许原始头在II
- 如何在asp.net页面上的%...%标签内使用c#代码?
- asp.net核心 – 无法在IISExpress中启动ASP.NET
- asp.net-mvc – ASP.NET MVC – 在客户端缓存页面
- asp.net-ajax – UpdateProgress链接到多个Updat
- 强制ASP.Net MVC Bundle以某种顺序呈现javascrip
- asp.net – 覆盖webapi odata链接的主机
- asp.net-mvc-3 – Asp.net mvc 3-获取当前控制器
热点阅读
