路径+DataRow+SqlPara防止sql注入
绝对路径:是从盘符开始的路径,形如
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 );
路径+DataRow+SqlPara防止sql注入的更多相关文章
- 【JDBC】学习路径3-密码登录&SQL注入攻击
最后再提醒一句,每次在测试JDBC程序的时候,一定要确保MySQL正在运行. 打开控制台(终端),输入mysql 如果没启动,则出现以下提示: Mac端启动MySQL数据库,需要在系统便好设置中启动. ...
- SQL注入的那些面试题总结
一.知识储备类 1.SQL与NoSQL的区别? SQL:关系型数据库 NoSQL:非关系型数据库 存储方式:SQL具有特定的结构表,NoSQL存储方式灵活 性能:NoSQL较优于SQL 数据类型:SQ ...
- sql注入mysql注入
#跨库查询及应用思路 information_schema表特性,记录数据库名.表名.列名对应表 information_schema.schemata:存储所有数据库名 schema_name:数据 ...
- “百度杯”CTF比赛 十月场-Getflag(md5碰撞+sql注入+网站绝对路径)
进去md5碰撞,贴一下脚本代码 import hashlib def md5(value): return hashlib.md5(str(value).encode("utf-8" ...
- 网站跨站点脚本,Sql注入等攻击的处理
从360安全论坛里找到的一段代码,经过整理封装,直接在站点Global.asax文件或写一个HttpModule来拦截恶意请求即可: http://bbs.webscan.360.cn/forum.p ...
- 电子商务网站SQL注入项目实战一例
故事A段:发现整站SQL对外输出: 有个朋友的网站,由于是外包项目,深圳某公司开发的,某天我帮他检测了一下网站相关情况. 我查看了页面源代码,发现了个惊人的事情,竟然整站打印SQL到Html里,着实吓 ...
- sqlHelper做增删改查,SQL注入处理,存储值,cookie,session
一.存储值 eg:登录一个页面,在进入这个页面之前你怎么知道它登没登录呢?[在登录成功之后我们把状态保存起来] 存储值得方式有两种,一种是cookie,一种是session 1.1区别: 代码: if ...
- php中防止SQL注入的方法
[一.在服务器端配置] 安全,PHP代码编写是一方面,PHP的配置更是非常关键. 我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最 ...
- 渗透技术--SQL注入写一句话木马原理
讲一下SQL注入中写一句话拿webshell的原理,主要使用的是 SELECT ... INTO OUTFILE 这个语句,下面是一个语句的例子: SELECT * INTO OUTFILE 'C:\ ...
随机推荐
- myssql数据库表名转驼峰 - PLAY - ITeye博客
原文:myssql数据库表名转驼峰 - PLAY - ITeye博客
- sas数据导入终极汇总-之中的一个
将数据文件读入SAS --DATA Step / PROC IMPORT 1.将SAS文件读入SAS-- data sasuser.saslin; set "F:\sa ...
- centos7 安装swftools Apache_OpenOffice
centos7 yum -y install wget wget http://www.swftools.org/swftools-0.9.2.tar.gz tar -xf swftools-.tar ...
- App server 与 Web server之间的区别
原文: http://www.javaworld.com/javaqa/2002-08/01-qa-0823-appvswebserver.html 简单来说,web服务器提供页面给浏览器,而app服 ...
- Java容器源码解析之——LinkedList
我们直接从源码来分析LinkedList的结构: public class LinkedList<E> extends AbstractSequentialList<E> im ...
- sql的系统关键字的概述
create proc proc_B as SELECT * FROM [ZkbTest].[dbo].[T_ZKB] exec sp_helptext proc_B select * from sy ...
- vue中指令写了一个demo
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue 实现 点击取消监控内容是否发生修改 若修改提示 是否需要保存
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- sql中--行处理数据的两种方式
--创建待使用的表格CREATE TABLE Orders ( OrderID INT , CostValue DECIMAL(18, 2) );WITH cte_temp AS ( SELECT 1 ...
- caffe(2) 数据层及参数
要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个屋(layer)构成,每一屋又由许多参数组成.所有的参数都定义在caffe.proto这个文件 ...