前言
不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动。在网络中,数据库驱动的Web应用随处可见,由此而存在的SQL注入是影响企业运营且最具破坏性的漏洞之一,这里我想问,我们真的了解SQL注入吗?看完本篇文章希望能让你更加深刻的认识SQL注入。 目录
第一节 注入攻击原理及自己编写注入点
1.1、什么是SQL?
1.2、什么是SQL注入?
1.3、SQL注入是怎么样产生的?
1.4、编写注入点
第二节 寻找及确认SQL注入
2.1、推理测试法
2.2、and大法和or大法
2.3、加法和减法
正文
第一节 注入攻击原理及自己编写注入点
1.1、什么是SQL?
SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL 语句用于取回和更新数据库中的数据。SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统。 1.2、什么是SQL注入?
看起来很复杂,其实很简单就能解释,SQL注入就是一种通过操作输入来修改后台SQL语句达到代码执行进行攻击目的的技术。
1.3、SQL注入是怎么样产生的?
构造动态字符串是一种编程技术,它允许开发人员在运行过程中动态构造SQL语句。开发人员可以使用动态SQL来创建通用、灵活的应用。动态SQL语句是在执行过程中构造的,它根据不同的条件产生不同的SQL语句。当开发人员在运行过程中需要根据不同的查询标准来决定提取什么字段(如SELECT语句),或者根据不同的条件来选择不同的查询表时,动态构造SQL语句会非常有用。
在PHP中动态构造SQL语句字符串:
$query = "SELECT * FROM users WHERE username = " .$_GET ["ichunqiu" ];
看上面代码我们可以控制输入参数ichunqiu,修改所要执行SQL语句,达到攻击的目的。
1.4、编写注入点
为了照顾一下新人,这里先介绍一下涉及到的基础知识:
SQL SELECT 语法
SELECT 列名称 FROM 表名称
符号 * 取代列的名称是选取所有列
WHERE 子句
如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。
语法
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
下面的运算符可在 WHERE 子句中使用:
了解了以上基础知识就让我们来自己编写注入点把。
第一步: 我们使用if语句来先判断一下变量是否初始化
if (isset ($_GET ["ichunqiu" ])){
}
?>
第二步: 在if语句里面,我们连接数据库。在PHP中,这个任务通过 mysql_connect() 函数完成。
mysql_connect(servername,username,password);
servername 可选。规定要连接的服务器。默认是 "localhost:3306" 。
username 可选。规定登录所使用的用户名。默认值是拥有服务器进程的用户的名称。
password 可选。规定登录所用的密码。默认是 "" 。
第三步: 连接成功后,我们需要选择一个数据库。
mysql_select_db(database,connection)
database 必需。规定要选择的数据库。
connection 可选。规定 MySQL 连接。如果未指定,则使用上一个连接。
第四步: 选择完数据库,我们需要执行一条 MySQL 查询。
mysql_query(query,connection)
query 必需。规定要发送的 SQL 查询。注释:查询字符串不应以分号结束。
connection 可选。规定 SQL 连接标识符。如果未规定,则使用上一个打开的连接。
第五步: 执行完查询,我们再对结果进行处理
mysql_fetch_array(data,array_type)
data 可选。规定要使用的数据指针。该数据指针是 mysql_query() 函数产生的结果。
array_type
可选。规定返回哪种结果。可能的值:
MYSQL_ASSOC - 关联数组
MYSQL_NUM - 数字数组
MYSQL_BOTH - 默认。同时产生关联和数字数组
题外话:我们使用echo将执行的SQL语句输出,方便我们查看后台执行了什么语句。
echo $querry
最终代码如下:
if (isset ($_GET ["id" ])){
$con = mysql_connect("127.0.0.1:3306" ,"root" ,"root" );
if (!$con )
{
die ('Could not connect: ' . mysql_error());
}
mysql_select_db("ichunqiu" ,$con );
$querry = "select * from users where id = " . $_GET ['id' ];
$sql = mysql_query($querry ,$con );
$result = mysql_fetch_array($sql );
echo "";
echo "";
echo " id ";
echo " username ";
echo " " ;
echo "";
echo " ".$result ['id' ]." ";
echo " ".$result ['username' ]." ";
echo " " ;
echo "
" ;
mysql_close($con );
echo $querry ;
}
?>
MySQL数据库实验环境配置:
代码层工作已经做好,但是在数据库里面,我们还没有ichunqiu这个数据库啊,接下来我就带大家一步步创建数据库,创建表,创建列,插入数据。
第一步: 创建数据库
第二步: 创建表users和列id,username,password
同样的道理,大家多插几条数据。到此我们整个任务就完成了。 最终成果如下:
第二节 寻找及确认SQL注入
2.1、推理测试法
寻找SQL注入漏洞有一种很简单的方法,就是通过发送特殊的数据来触发异常。 首先我们需要了解数据是通过什么方式进行输入,这里我总结了三个:
了解完数据的输入方式,我们接下来再学习数据库错误。这里我们以MySQL为例,其它的请大家自行学习咯。
我们现在参数后面加个单引号,如下图:
sql语句最终变为
select * from users where id = 1 '
执行失败,所以mysql_query()函数会返回一个布尔值,在下行代码中mysql_fetch_array($sql)将执行失败,并且PHP会显示一条警告信息,告诉我们mysql_fetch_array()的第一个参数必须是个资源,而代码在实际运行中,给出的参数值却是一个布尔值。
我们修改代码在
$sql = mysql_query($querry ,$con );下一行加上
var_dump($sql );
可以发现:
为了更好的了解MySQL错误,我们在
$sql = mysql_query($querry ,$con );
加上
if (!$sql )
{
die ('error:'
.mysql_error().'' );
}
这样当应用捕获到数据库错误且SQL查询失败时,就会返回错误信息:(我们在参数中添加单引号返回的错误信息)
error:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1
然后借助这些错误,我们这可以推断应该存在SQL注入。还有其他数据库错误信息,以及MySQL其他错误信息,由于篇幅问题就不一一讲解了。
2.2、and大法和or大法
页面不返回任何错误信息,我们就可以借助本方法来推断了,首先我们在参数后面加上 and 1=1和and 1=2看看有什么不同
可以发现and 1=1 返回了数据,而and 1=2没有,这是由于1=1是一个为真的条件,前面的结果是true,true and true 所以没有任何问题,第二个 1=2 是个假条件, true and false还是false,所以并没有数据返回。
好,讲完and,我们自来看看 or ,or就是或者,两个都为假,才会为假。我们先把id改为5,可以发现id=5是没有数据的。
可以发现我们加上or 1=1就成功返回了数据,这是因为1=1为真,不管前面是不是假,数据都会返回,这样就把表里面数据全部返回,我们没看见,是因为代码中并没有迭代输出。这样,我们来修改一下代码。
echo "";
echo "";
echo " id ";
echo " username ";
echo " " ;
//遍历查询结果
while ($result = mysql_fetch_array($sql )) {
echo "";
echo " " . $result [0 ] . " ";
echo " " . $result [1 ] . " ";
echo " " ;
}
然后你就可以发现:
2.3、加法和减法
这里我们需要区分一下数字型和字符串型:
数字型:不需要使用单引号来表示
其他类型:使用单引号来表示
综合上述,我们可以发现我们的例子是数字型的,这样我们就可以使用加法和减法来判断了。
加法,我们在参数输入1+1,看看返回的数据是不是id等于2的结果,这里注意一下+号在SQL语句是有特效含义的,所以我们要对其进行url编码,最后也就是%2b。
减法是同样的道理,不过我们不需要对-号进行url编码了。
结束语
感谢大家的支持吧,在此我也总结一下前面自己的不足,由于篇幅很长,宽度是到位了,但是并没有深入,也不算详细,所以本篇教程分为了三级即初级、中级、高级。六节来写,既要深度也要宽度,当然我也不是技术大牛,如文中有错误请指出,我会加以改正,谢谢。 系列文章预告及导航 渗透攻防Web篇-SQL注入攻击中级
渗透攻防Web篇-SQL注入攻击高级
第五节 避开过滤方法总结
第六节 探讨SQL注入防御技巧
你可能感兴趣的:(信息安全)
详细的等保测评攻略就在这里
快快小毛毛
网络 网络安全 系统安全
信息安全等级保护,是对信息和信息载体按照重要性等级分级别进行保护的一种工作。目前我国实行的是等保2.0于2019年12月1日开始实施,等保2.0从传统的信息系统,转变成具有基础信息网络平台的多种新兴技术对象,即具有网络服务,有数据的网络服务平台都可以成为新兴的测评对象。等保2.0备案从原来的自主定级改变成系统定级,才能得到公安机关的备案,关于等保测评详细攻略如下:等保2.0定级步骤:确定定级对象—
等保测评中的关键技术挑战与应对策略
亿林数据
网络安全 等保测评
在信息安全领域,等保测评(信息安全等级保护测评)作为确保信息系统安全性的重要手段,其过程中不可避免地会遇到一系列技术挑战。这些挑战不仅考验着企业的技术实力,也对其安全管理水平提出了更高要求。本文将深入探讨等保测评中的关键技术挑战,并提出相应的应对策略。一、等保测评中的关键技术挑战1.复杂系统架构的评估难度随着信息技术的快速发展,企业信息系统的架构日益复杂,包括分布式系统、微服务架构、云计算环境等。
CDGA学习笔记三-《数据安全》
zy_chris
网络 安全
七、数据安全7.1引言数据安全包括安全策略和过程的规划、建立与执行,为数据和信息资产提供正确的身份验证、授权、访问和审计。要求来自以下方面:(1)利益相关方(2)政府法规(3)特定业务关注点(4)合法访问需求(5)合同义务7.1.1业务驱动因素1、降低风险信息安全首先对组织数据进行分级分类,对组织数据进行分类分级的整个流程:1)识别敏感数据资产并分类分级2)在企业中查找敏感数据3)确定保护每项资产
学习笔记:FW内容安全概述
TKE_yinian
内容安全概述信息安全概述主要威胁关于防护简介内容安全威胁应用层威胁内容安全技术WEB安全应用安全入侵防御检测邮件安全数据安全网络安全反病毒全局环境感知沙箱检测信息安全概述•信息安全是对信息和信息系统进行保护,防止未授权的访问、使用、泄露、中断、修改、破坏并以此提供保密性、完整性和可用性。•为关键资产提供机密性、完整性和可用性(CIA三元组)保护是信息安全的核心目标。CIA(Confidential
信创环境下源代码防泄露解决方案
Felixwb
网络 服务器
在当今数字化时代,信息安全已成为企业生存与发展的基石,尤其是在信息技术应用创新(信创)环境下,数据保护更是被提升至前所未有的高度。SDC沙盒防泄露系统以其独特的技术架构和卓越的安全性能,在信创环境中构筑起一道坚不可摧的数据防护墙,有效保障了企业数据的安全与隐私。SDC沙盒防泄露系统是一款专为解决数据泄露问题而设计的高端安全产品。该系统通过构建一个隔离的、可控的执行环境(即“沙盒”),对敏感数据的访
国家等保 2.0 时代,你的移动安全要如何防护?
Reneeeeee412
移动互联时代,什么对企业最重要?是人才?是技术?在勒索病毒“WannaCry”肆虐全球之后企业更加意识到安全才是关键所在跃至2.0时代国家等级保护范围扩展到新领域在信息安全领域,国家提出了最为深远的保障制度——信息安全等级保护制度。在2017年5月等保制度顺应时代要求一跃升级到2.0,不仅安全等级的评定条件更加严格,保护要求也扩展到移动互联、云计算、大数据、物联网和工业控制等新技术和新应用领域。在
推动国密SSL发展的建议与策略
bilicute
ssl 网络协议 网络
摘要:国密SSL作为我国网络安全的重要组成部分,其发展对于保障国家信息安全具有重要意义。本文针对国密SSL当前发展现状,提出了几点发展建议,旨在推动国密SSL技术的广泛应用和市场竞争力。一、引言国密SSL(SecureSocketsLayer)是指采用国家商用密码算法的SSL证书,它在我国网络安全体系中扮演着至关重要的角色。随着网络信息化的快速发展,国密SSL的应用前景日益广阔。然而,面对国际SS
浅析‖医疗行业数据安全
等保星视界
最近小编接触到了医疗行业,猛然发觉信息化技术当前真的是深入应用到了医院的日常经营发展中,医院整体的管理运营全都面向系统化,让医院的管理效率、质量都纷纷得以提升。这也使得信息安全管理工作占据了更加重要的位置。小编总结了下医院信息安全管理的主要工作大概包括这几点:l信息系统网络安全l备份信息记录安全l计算机设备病毒防治l医院信息管理系统平台安全等想必大家也都有所了解,医疗记录包含大量敏感信息:如病患的
信息安全国内外现状及技术要求示例(R155/R156)
mini积木
信息安全 安全 mcu
国际政策、法规的现状与趋势鉴于对交通安全、社会安全甚至国家安全的重要影响,汽车网络安全、数据安全得到各相关国家和地区的高度重视,纷纷出台相关法规、标准。信息安全法规R155法规适用范围覆盖了乘用车及商用车,适用于M类、N类车型,装备了至少一个ECU的O类车型,以及具备L3及以上自动驾驶功能的L6和L7类车型。此法规适合于1958协议国(包括欧洲、日本、俄罗斯、澳大利亚等)。根据欧盟要求,从2022
NISP 一级 —— 考证笔记合集
SRC_BLUE_17
网络安全 资源导航 # 网络安全相关笔记 笔记 网络安全 证书获取 NISP
该笔记为导航目录,在接下来一段事件内,我会每天发布我关于考取该证书的相关笔记。当更新完成后,此条注释会被删除。第一章信息安全概述1.1信息与信息安全1.2信息安全威胁1.3信息安全发展阶段与形式1.4信息安全保障1.5信息系统安全保障第二章信息安全基础技术2.1密码学2.2数字证书与公钥基础设施2.3身份认证2.4访问控制2.5安全审计第三章网络安全防护技术3.1网络基础知识3.2网络安全威胁3.
信息安全、网络安全、网络空间安全傻傻分不清?
亿林科技网络安全
web安全 安全
信息安全、网络安全、网络空间安全:三个概念的解析与区分随着信息技术的迅猛发展,信息安全、网络安全、网络空间安全这三个概念逐渐进入人们的视野。虽然它们密切相关,但在含义上却有所区别。本文将深入探讨这三个概念的定义、内涵及其区别。一、信息安全信息安全是指保护信息免受未经授权的访问、使用、破坏或泄露的科学与技术手段的总和。其核心目标是确保信息的机密性、完整性和可用性。信息安全涉及的范围包括计算机系统、网
干货 ‖ 三分钟让你区分“等级保护、风险评估和安全测评”
等保星视界
接触安全行业的大家大概会经常遇到这几个关键词,“等级保护”、“风险评估”、“系统安全评测”,这都是当前国家信息安全保障建设体系中的热门话题。但是肯定有很多小伙伴还是对他们之间的区别和联系不是那么明确,今天小编就来帮大家缕一缕。一、三者的概念介绍A、等级保护概念介绍:等级保护全名信息安全等级保护,是指对国家各类信息系统分等级进行安全保护,对信息系统中的安全产品进行等级管理,对信息系统中的信息安全事件
五分钟了解等级保护、风险评估和安全测评三者的区别和联系?
亿林等保
安全 网络安全
等级保护基本概念:网络安全等级保护是指对国家秘密信息、法人和其他组织和公民的专有信息以及公开信息和存储、传输、处理这些信息的信息系统分等级实行安全保护,对信息系统中使用的安全产品实行按等级管理,对信息系统中发生的信息安全事件等等级响应、处置。这里所指的信息系统,是指由计算机及其相关和配套的设备、设施构成的,按照一定的应用目标和规则对信息进行存储、传输、处理的系统或者网络;信息是指在信息系统中存储、
一分钟了解小程序的等保测评
亿林科技网络安全
小程序
小程序作为移动互联网应用的一种形式,其安全性和合规性受到了国家法律法规的严格要求。根据《中华人民共和国网络安全法》和《信息安全技术个人信息安全规范》等相关法律法规,小程序在开发和运营过程中需要进行等级保护测评(等保测评),以确保用户数据的安全和隐私保护。等保测评是指对信息系统进行安全等级保护的评估,包括安全技术措施和安全管理措施的评估。小程序的等保测评得分需要在70分以上,且信息系统没有高风险项才
阿里大牛漫谈“去IOE”架构: 过程苦 结局好
weixin_34194087
数据库
2019独角兽企业重金招聘Python工程师标准>>>阿里大牛漫谈“去IOE”架构:过程苦结局好随着国外斯诺登的棱镜门事件持续发酵,国内近期一场大规模网络瘫痪引起轩然大波,安全问题将直指人心,一时间IOE(IBM、Oracle和EMC)被推到信息安全的风口浪尖,近日联想收购IBM的X86服务器更是削弱了IOE的力量。而由阿里人掀起的去“IOE”运动风险极高,但受益很高。没有了“IOE”这些高富帅的
2023 下半年信息安全工程师考试真题答案
rockmelodies
安全 网络安全
一、单项选择如下有关信息安全管理员职责旳论述,不对旳旳是()A.信息安全管理员应当对网络旳总体安全布局进行规划B.信息安全管理员应当对信息系统安全事件进行处理C.信息安全管理员应当负责为顾客编写安全应用程序D.信息安全管理员应当对安全设备进行优化配置国家密码管理局于2023年公布了“无线局域网产品须使用旳系列密码算法”,其中规定密钥协商算法应使用旳是()A.DHB.ECDSAC.ECDHD.CPK
四级信息安全工程师考试大纲
憨憨tiantian
笔记 经验分享 计算机网络 操作系统
文章目录前言:考核项目一、考试方式二、操作系统原理1.基本要求2.考试内容三、计算机网络1.基本要求2.考试内容总结前言:考核项目四级信息安全工程师考核操作系统原理和计算机网络两门课程。测试内容包括网络攻击与保护的基本理论技术,以及操作系统、路由设备的安全防范技能。一、考试方式本考试为上机考试,时长为90分钟,满分100分。考试题型及分值(1)操作系统原理——单选题(30分)(2)操作系统原理——
探索未知的利器:Detect It Easy(DIE)——文件类型检测大师
颜旖玫Michael
探索未知的利器:DetectItEasy(DIE)——文件类型检测大师Detect-It-EasyProgramfordeterminingtypesoffilesforWindows,LinuxandMacOS.项目地址:https://gitcode.com/gh_mirrors/de/Detect-It-Easy在信息安全领域,了解文件的真实性质是至关重要的。DetectItEasy(简称D
国产化操作系统(x86_64|aarch64)生态构建之RTSP播放器选型
音视频牛哥
大牛直播SDK 音视频 国产化操作系统 rtsp播放器 linux rtsp播放器 linux arm rtsp linux平台rtsp播放 aarch64 rtsp 大牛直播SDK
为什么要推进国产化操作系统我们经常听到的一句话是:国货当自强!国产操作系统也是,推进国产化操作系统的原因是多方面的,推进国产化操作系统是保障国家信息安全、促进技术自主创新、提升产业竞争力以及满足特定需求的重要举措。未来,随着技术的不断进步和市场的不断扩展,国产化操作系统将迎来更加广阔的发展前景。一、保障国家信息安全减少对外部系统的依赖:国产化操作系统可以更好地符合国家安全标准,减少对国外操作系统的
本博客公告
维基人
公告 安全 系统安全 web安全 安全架构
博客公告/soulblog一、博客涉及领域信息安全,计算机网络及操作系统等二、博客更新每周一和周六定时更新三、说明该博客上的所有文章都将在博客园、CSDN和Medium上持续,同步更新博客环境安全,无任何诱导链接,博客坚持无广告化,不会投放任何广告所有文章均为原创,转载请注明出处!四、同步链接本人已购多域名,通过GitHub绑定进行重定向到各平台上,通过本人的域名可以访问到各博客平台上链接如下(点
网络安全工程师培训费用
汇智知了堂
web安全 网络 安全
在当今这个信息化迅猛发展的时代,网络安全已成为各行各业关注的焦点。作为保障网络信息安全的中坚力量,网络安全工程师的需求量逐年攀升。随之而来的是,越来越多的人对网络安全工程师的培训费用充满了好奇。本文将为您详细解析这一问题,帮助您在选择培训时做出明智的决策。网络安全工程师培训费用因培训机构、课程内容和地点等因素而有所不同。一般来说,培训费用在几千到几万元之间。具体费用取决于所选的培训机构和课程。以下
死守安全底线,荣耀8X全球首发“AI基站防伪技术”
科技银狐
随着电信诈骗手段的不断升级,不少用户都被诈骗份子套入陷阱,相信这是很多消费者一直存在的痛点。但大部分手机厂商仍然在拼性能、拼功能的维度上,并没有重视用户的信息安全,这是让人比较失望的。目前市面上主流的免打扰和拦截垃圾信息的手段比较滞后,其做法无非是进行关键字匹配,将骚扰电话进行标记,如发现有标记的号码打来就直接阻断,但这种方式存在很多绕过的可能性,仍然无法根治此类问题。光靠手机进行单维度的防护总归
2024年入职/转行网络安全,该如何规划?_网络安全职业规划
徐老师教网络安全
web安全 安全 php https 网络协议
前言前段时间,知名机构麦可思研究院发布了《2022年中国本科生就业报告》,其中详细列出近五年的本科绿牌专业,其中,信息安全位列第一。网络安全前景对于网络安全的发展与就业前景,想必无需我多言,作为当下应届生收入较高的专业之一,网络安全同样也在转行领域中占据热门位置,主要具备以下几点转行优势:行业人才缺口大,至2027年我国网安人才缺口将达327万知识体系友好,计算机及英语水平相对薄弱的同学也可学习上
2024年入职/转行网络安全,该如何规划?_网络安全职业规划
徐老师教网络安全
web安全 安全 php https 网络协议
前言前段时间,知名机构麦可思研究院发布了《2022年中国本科生就业报告》,其中详细列出近五年的本科绿牌专业,其中,信息安全位列第一。网络安全前景对于网络安全的发展与就业前景,想必无需我多言,作为当下应届生收入较高的专业之一,网络安全同样也在转行领域中占据热门位置,主要具备以下几点转行优势:行业人才缺口大,至2027年我国网安人才缺口将达327万知识体系友好,计算机及英语水平相对薄弱的同学也可学习上
私人工具集4——C#加密解密类(CryptoHelper)
gzhosp_redAnt
小徐的私人工具集 加密解密 .net rsa md5 c#
子曰:“工欲善其事,必先利其器”github地址:https://github.com/redAntCpp/CSharpTools加密解密在日常开发中也是经常用到,尤其是在写登录功能时,对用户的密码进行加密,有时,对信息安全要求较高时,也需要对传输的数据进行加密,然后本地解密后得到相应的报文,然后继续进行业务。比如银行的金额,医院的患者病历信息等。简单的加密方式介绍加密分为:对称加密和非对称加密。
多重安全措施:构建信息防护网
SheldonChang
加解密 安全 网络
多重安全措施:构建信息防护网在当今数字化的世界里,信息安全已经成为企业和个人不可或缺的一部分。随着技术的发展,网络攻击手段也变得越来越复杂和多样化。因此,单靠一种安全措施已经无法全面保护我们的信息资产。本文将探讨如何通过结合多种安全措施来构建更加坚固的安全防御体系,并给出一些实际的应用案例。1.引言在过去的几年里,信息安全事件频繁发生,从个人信息泄露到企业数据被窃取,每一次事件都提醒着我们加强信息
数据传输安全——混合加解密(国密)
SheldonChang
加解密 安全 网络
国密SM2与SM4混合加密解密工具类详解及其与其他加密算法的对比分析在当今互联网时代,信息安全变得尤为重要。随着国家密码局发布的商用密码算法(即国密算法)逐渐普及,SM2和SM4等算法因其高效性和安全性成为了国内应用中的重要组成部分。本文不仅将详细介绍一个基于Java的国密SM2与SM4混合加密解密工具类,还将探讨这些算法与国际通用的RSA和AES算法之间的对比分析。一、国密算法简介SM2:这是一
数据传输安全——混合加解密
SheldonChang
加解密 安全 网络 java
使用Hutool实现AES与RSA混合加密解密——构建安全的数据传输通道在当今数字化社会中,信息安全已经成为企业和个人不可忽视的重要议题。加密技术作为保障数据安全的重要手段,其作用愈发突出。本文将深入探讨如何利用Hutool库实现AES与RSA混合加密解密方案,并进一步扩展其背后的技术原理及具体的应用场景。国密加解密实现参考链接加密技术概述在加密领域,我们通常会遇到两种类型的加密算法:对称加密和非
网络安全笔记-信息安全工程师与网络安全工程师考试大纲(附:Web安全大纲)_信息网络安全师认证(inspc)培训工作大纲
程序员安安
web安全 笔记 网络 服务器 数据库 网络安全 安全
Web安全大纲2024信息安全工程师考试大纲1、考试目标通过本考试的合格人员能够掌握网络信息安全的基础知识和技术原理;根据国家网络信息安全相关法律法规及业务安全保障要求,能够规划、设计信息系统安全方案,能够配置和维护常见的网络安全设备及系统;能够对信息系统的网络安全风险进行监测和分析,并给出网络安全风险问题的整改建议;能够协助相关部门对单位的信息系统进行网络安全审计和网络安全事件调查;能够对网络信
人脸识别界面设计Android,人脸识别系统的设计及Android平台实现
代码侠士
人脸识别界面设计Android
摘要:近些年来,随着人们对信息安全问题的日益重视,生物识别技术由于其自身具有传统身份技术所不具备的优势,被大量地用于身份认证中.人脸作为一种重要的生物特征,具有唯一性,随身携带的优点,而且人脸图像的采集条件相对宽松,因此人脸识别技术被大量地用作门禁,安检等相关领域.本文对人脸识别系统进行了相关研究.在人脸检测阶段,对人脸检测的两种方法进行了研究.使用肤色检测的方法检测速度较快,但检测范围不准确并且
ztree设置禁用节点
3213213333332132
JavaScript ztree json setDisabledNode Ajax
ztree设置禁用节点的时候注意,当使用ajax后台请求数据,必须要设置为同步获取数据,否者会获取不到节点对象,导致设置禁用没有效果。
$(function(){
showTree();
setDisabledNode();
});
JVM patch by Taobao
bookjovi
java HotSpot
在网上无意中看到淘宝提交的hotspot patch,共四个,有意思,记录一下。
7050685:jsdbproc64.sh has a typo in the package name
7058036:FieldsAllocationStyle=2 does not work in 32-bit VM
7060619:C1 should respect inline and
将session存储到数据库中
dcj3sjt126com
sql PHP session
CREATE TABLE sessions (
id CHAR(32) NOT NULL,
data TEXT,
last_accessed TIMESTAMP NOT NULL,
PRIMARY KEY (id)
);
<?php
/**
* Created by PhpStorm.
* User: michaeldu
* Date
Vector
171815164
vector
public Vector<CartProduct> delCart(Vector<CartProduct> cart, String id) {
for (int i = 0; i < cart.size(); i++) {
if (cart.get(i).getId().equals(id)) {
cart.remove(i);
各连接池配置参数比较
g21121
连接池
排版真心费劲,大家凑合看下吧,见谅~
Druid
DBCP
C3P0
Proxool
数据库用户名称 Username Username User
数据库密码 Password Password Password
驱动名
[简单]mybatis insert语句添加动态字段
53873039oycg
mybatis
mysql数据库,id自增,配置如下:
<insert id="saveTestTb" useGeneratedKeys="true" keyProperty="id"
parameterType=&
struts2拦截器配置
云端月影
struts2拦截器
struts2拦截器interceptor的三种配置方法
方法1. 普通配置法
<struts>
<package name="struts2" extends="struts-default">
&
IE中页面不居中,火狐谷歌等正常
aijuans
IE中页面不居中
问题是首页在火狐、谷歌、所有IE中正常显示,列表页的页面在火狐谷歌中正常,在IE6、7、8中都不中,觉得可能那个地方设置的让IE系列都不认识,仔细查看后发现,列表页中没写HTML模板部分没有添加DTD定义,就是<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3
String,int,Integer,char 几个类型常见转换
antonyup_2006
html sql .net
如何将字串 String 转换成整数 int?
int i = Integer.valueOf(my_str).intValue();
int i=Integer.parseInt(str);
如何将字串 String 转换成Integer ?
Integer integer=Integer.valueOf(str);
如何将整数 int 转换成字串 String ?
1.
PL/SQL的游标类型
百合不是茶
显示游标(静态游标) 隐式游标 游标的更新和删除 %rowtype ref游标(动态游标)
游标是oracle中的一个结果集,用于存放查询的结果;
PL/SQL中游标的声明;
1,声明游标
2,打开游标(默认是关闭的);
3,提取数据
4,关闭游标
注意的要点:游标必须声明在declare中,使用open打开游标,fetch取游标中的数据,close关闭游标
隐式游标:主要是对DML数据的操作隐
JUnit4中@AfterClass @BeforeClass @after @before的区别对比
bijian1013
JUnit4 单元测试
一.基础知识
JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)@After:释放资源 对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次
精通Oracle10编程SQL(12)开发包
bijian1013
oracle 数据库 plsql
/*
*开发包
*包用于逻辑组合相关的PL/SQL类型(例如TABLE类型和RECORD类型)、PL/SQL项(例如游标和游标变量)和PL/SQL子程序(例如过程和函数)
*/
--包用于逻辑组合相关的PL/SQL类型、项和子程序,它由包规范和包体两部分组成
--建立包规范:包规范实际是包与应用程序之间的接口,它用于定义包的公用组件,包括常量、变量、游标、过程和函数等
--在包规
【EhCache二】ehcache.xml配置详解
bit1129
ehcache.xml
在ehcache官网上找了多次,终于找到ehcache.xml配置元素和属性的含义说明文档了,这个文档包含在ehcache.xml的注释中!
ehcache.xml : http://ehcache.org/ehcache.xml
ehcache.xsd : http://ehcache.org/ehcache.xsd
ehcache配置文件的根元素是ehcahe
ehcac
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL
白糖_
java eclipse spring tomcat Web
今天学习spring+cxf的时候遇到一个问题:在web.xml中配置了spring的上下文监听器:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
随后启动
angular.element
boyitech
AngularJS AngularJS API angular.element
angular.element
描述: 包裹着一部分DOM element或者是HTML字符串,把它作为一个jQuery元素来处理。(类似于jQuery的选择器啦) 如果jQuery被引入了,则angular.element就可以看作是jQuery选择器,选择的对象可以使用jQuery的函数;如果jQuery不可用,angular.e
java-给定两个已排序序列,找出共同的元素。
bylijinnan
java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CommonItemInTwoSortedArray {
/**
* 题目:给定两个已排序序列,找出共同的元素。
* 1.定义两个指针分别指向序列的开始。
* 如果指向的两个元素
sftp 异常,有遇到的吗?求解
Chen.H
java jcraft auth jsch jschexception
com.jcraft.jsch.JSchException: Auth cancel
at com.jcraft.jsch.Session.connect(Session.java:460)
at com.jcraft.jsch.Session.connect(Session.java:154)
at cn.vivame.util.ftp.SftpServerAccess.connec
[生物智能与人工智能]神经元中的电化学结构代表什么?
comsci
人工智能
我这里做一个大胆的猜想,生物神经网络中的神经元中包含着一些化学和类似电路的结构,这些结构通常用来扮演类似我们在拓扑分析系统中的节点嵌入方程一样,使得我们的神经网络产生智能判断的能力,而这些嵌入到节点中的方程同时也扮演着"经验"的角色....
我们可以尝试一下...在某些神经
通过LAC和CID获取经纬度信息
dai_lm
lac cid
方法1:
用浏览器打开http://www.minigps.net/cellsearch.html,然后输入lac和cid信息(mcc和mnc可以填0),如果数据正确就可以获得相应的经纬度
方法2:
发送HTTP请求到http://www.open-electronics.org/celltrack/cell.php?hex=0&lac=<lac>&cid=&
JAVA的困难分析
datamachine
java
前段时间转了一篇SQL的文章(http://datamachine.iteye.com/blog/1971896),文章不复杂,但思想深刻,就顺便思考了一下java的不足,当砖头丢出来,希望引点和田玉。
-----------------------------------------------------------------------------------------
小学5年级英语单词背诵第二课
dcj3sjt126com
english word
money 钱
paper 纸
speak 讲,说
tell 告诉
remember 记得,想起
knock 敲,击,打
question 问题
number 数字,号码
learn 学会,学习
street 街道
carry 搬运,携带
send 发送,邮寄,发射
must 必须
light 灯,光线,轻的
front
linux下面没有tree命令
dcj3sjt126com
linux
centos p安装
yum -y install tree
mac os安装
brew install tree
首先来看tree的用法
tree 中文解释:tree
功能说明:以树状图列出目录的内容。
语 法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式
Map迭代方式,Map迭代,Map循环
蕃薯耀
Map循环 Map迭代 Map迭代方式
Map迭代方式,Map迭代,Map循环
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年
Spring Cache注解+Redis
hanqunfeng
spring
Spring3.1 Cache注解
依赖jar包:
<!-- redis -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
Guava中针对集合的 filter和过滤功能
jackyrong
filter
在guava库中,自带了过滤器(filter)的功能,可以用来对collection 进行过滤,先看例子:
@Test
public void whenFilterWithIterables_thenFiltered() {
List<String> names = Lists.newArrayList("John"
学习编程那点事
lampcy
编程 android PHP html5
一年前的夏天,我还在纠结要不要改行,要不要去学php?能学到真本事吗?改行能成功吗?太多的问题,我终于不顾一切,下定决心,辞去了工作,来到传说中的帝都。老师给的乘车方式还算有效,很顺利的就到了学校,赶巧了,正好学校搬到了新校区。先安顿了下来,过了个轻松的周末,第一次到帝都,逛逛吧!
接下来的周一,是我噩梦的开始,学习内容对我这个零基础的人来说,除了勉强完成老师布置的作业外,我已经没有时间和精力去
架构师之流处理---------bytebuffer的mark,limit和flip
nannan408
ByteBuffer
1.前言。
如题,limit其实就是可以读取的字节长度的意思,flip是清空的意思,mark是标记的意思 。
2.例子.
例子代码:
String str = "helloWorld";
ByteBuffer buff = ByteBuffer.wrap(str.getBytes());
Sy
org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1, column 1
Everyday都不同
$ 转义 el表达式
最近在做Highcharts的过程中,在写js时,出现了以下异常:
严重: Servlet.service() for servlet jsp threw exception
org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1,
用Java实现发送邮件到163
tntxia
java实现
/*
在java版经常看到有人问如何用javamail发送邮件?如何接收邮件?如何访问多个文件夹等。问题零散,而历史的回复早已经淹没在问题的海洋之中。
本人之前所做过一个java项目,其中包含有WebMail功能,当初为用java实现而对javamail摸索了一段时间,总算有点收获。看到论坛中的经常有此方面的问题,因此把我的一些经验帖出来,希望对大家有些帮助。
此篇仅介绍用
探索实体类存在的真正意义
java小叶檀
POJO
一. 实体类简述
实体类其实就是俗称的POJO,这种类一般不实现特殊框架下的接口,在程序中仅作为数据容器用来持久化存储数据用的
POJO(Plain Old Java Objects)简单的Java对象
它的一般格式就是
public class A{
private String id;
public Str