zoukankan      html  css  js  c++  java
  • 路径+DataRow+SqlPara防止sql注入

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


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

    给你打个比方吧,就比如你在百度这里问问题,当你首先登入的时候,你的名字等等就要写入到session;
    session("name")=request.form("name")这样的话,当你从登入的首页转到它的子页,你的名字就还有效,你有没有看见上面”我的提问,我的回答等等”否则的话,也就是你不用session,当你登入首页,再转到子页,你就等于没登入,你又要重新登入啦.知道了吗,也就是说,session是用来记录你的进程信息的,
    假如当前路径为c:program files
    要调用上述命令,则需要输入
    ..windowssystem32cmd.exe
    其中,..为父目录。
    当前路径如果为c:program filescommon files
    则需要输入
    ....windowssystem32cmd.exe

    另外,还有一种不包含盘符的特殊绝对路径,形如
    windowssystem32cmd.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:WEBB.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 );

  • 相关阅读:
    call me
    互相关注请留言!我也会及时关注你的哦!
    tomcat单机多实例
    powerdesigner导出rtf
    IDEA快捷键
    SQLyog Enterprise Trial 试用期问题
    ubuntu 16.04 忘记root密码
    使用Xshell连接ubuntu
    观察者模式(Observer)和发布(Publish/订阅模式(Subscribe)的区别
    jvm方法栈
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/8143376.html
Copyright © 2011-2022 走看看