博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
路径+DataRow+SqlPara防止sql注入
阅读量:4680 次
发布时间:2019-06-09

本文共 1996 字,大约阅读时间需要 6 分钟。

 

绝对路径:是从盘符开始的路径,形如

C:\windows\system32\cmd.exe
相对路径:是从当前路径开始的路径,假如当前路径为C:\windows
要描述上述路径,只需输入
system32\cmd.exe
实际上,严格的相对路径写法应为
.\system32\cmd.exe
其中,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。

Session 的用法是什么?
简单说就是保存用户信息的

给你打个比方吧,就比如你在百度这里问问题,当你首先登入的时候,你的名字等等就要写入到session;

session("name")=request.form("name")这样的话,当你从登入的首页转到它的子页,你的名字就还有效,你有没有看见上面”我的提问,我的回答等等”否则的话,也就是你不用session,当你登入首页,再转到子页,你就等于没登入,你又要重新登入啦.知道了吗,也就是说,session是用来记录你的进程信息的,
假如当前路径为c:\program files
要调用上述命令,则需要输入
..\windows\system32\cmd.exe
其中,..为父目录。
当前路径如果为c:\program files\common files
则需要输入
..\..\windows\system32\cmd.exe

另外,还有一种不包含盘符的特殊绝对路径,形如

\windows\system32\cmd.exe
无论当前路径是什么,会自动地从当前盘的根目录开始查找指定的程序。

../是上一层目录的意思 ,而~/是根目录的意思。
比如你建的项目是:A/B/C/Default.aspx在网页中使用../表示的就是B/,而~/表示的就是A/

在C盘下的WEB文件夹里有两个文件A.asp和B.asp~~
如果用A文件引用B文件里的内容~~那么在A.asp里的写法可以是
<!--#include file = "B.asp"-->
引号里面的就是B文件的名字,因为A和B都在同一个目录里~所以可以直接写文件名~~

那么如果B文件在A文件同目录下的一个image文件夹下呢~那么写法就是

<!--#include file = "image/B.asp"-->

以上说的就是相对路径(虚拟路径)~~

同样是A和B两个文件~~调用B文件也可以这样写:

<!--#include file = "C:\WEB\B.asp"-->
这就是绝对路径了~~
--------------------------------------------
SqlParameter 作用就是防止有特殊字符。一般情况下用于往存储过程传参

一般来说,在更新DataTable或是DataSet时,如果不采用SqlParameter,那么当输入的Sql语句出现歧义时,如字符串中含有单引号,程序就会发生错误,并且他人可以轻易地通过拼接Sql语句来进行注入攻击。

------------------------------------------------------------
SQL中 @一般用来表示自己定义的一个变量
------------------------------------------
DataRow 是用来表示一个数据表的的数据行,所以,它不能单独new,因为一行记录,需要有架构(架构就是描述这一行都有哪些列,分别是什么数据类型,甚至索引字段是哪个,有无约束等)。

所以DataRow有需要在有架构的情况下,才可以创建。

所以,你必须要先构造一个DataTable,然后才能在相应的DataTable上创建一行。

示例代码:

Columns 列
DataTable memTable = new DataTable( "tableName" );
memTable.Columns.Add( new DataColumn( "ID", typeof( int ) ) );
memTable.Columns.Add( new DataColumn( "Username", typeof( string ) );
memTable.Columns.Add( new DataColumn( "Password", typeof( Guid ) );

DataRow row = memTable.NewRow();

row[ "ID" ] = 1;
row[ "Username" ] = "badbug";
row[ "Password" ] = Guid.NewGuid();

memTable.Rows.Add( row );

转载于:https://www.cnblogs.com/ZkbFighting/p/8143376.html

你可能感兴趣的文章
匈牙利算法求解任务分配问题
查看>>
开源协议的比较
查看>>
1115 Counting Nodes in a BST (30 分)建立二叉搜索树,求每层结点数目
查看>>
Linux修改hostname与免密码登录
查看>>
node全局对象 文件系统
查看>>
力扣——找数左下角的值
查看>>
201521123042 《Java程序设计》 第10周学习总结
查看>>
JQuery Easyui引入easyui-lang-zh_CN.js后出现乱码的问题解决方法
查看>>
cookie domain port
查看>>
springboot中starters 提供的常用的依赖
查看>>
第二章
查看>>
实现表单元素与文字的居中对齐
查看>>
vuex
查看>>
swift上传图片
查看>>
struts2常量的配置
查看>>
【设计模式】原型模式
查看>>
【监控】WebServer入库与缓存更新代码优化小计
查看>>
[洛谷P5174]圆点
查看>>
Spark BlockManager的通信及内存占用分析(源码阅读九)
查看>>
AJAX 局部刷新 GridView 进行数据绑定
查看>>