近日,由于发现一些站点仍然存在UBB的跨站脚本攻击的漏洞.跨站脚本攻击虽然很少会对服务器造成一些什么比较大的影响,但对于一个站点来说,存在这种漏洞实在是太不值得!小则,弹点 什么东东出来;中则改改主页;重则窃取用户的COOKIES资料,更甚者将会G掉浏览者的硬盘.一个站点被变成一个恶意网站,还有谁敢来?如果再加上该站的站长比较"盲"一些,岂不乱套了?
小小的一段代码就真的能使一个站点成这样?好叫我们来具体的看看所谓的跨站脚本攻击到底会成为什么样的攻击模式.进入一个含UBB功能的站点,比如留言板,论坛,或是含提交程序的站点.首先,讲一下最简单的脚本攻击:
等HTML字符的过滤问题.
登陆过一个CGI制作站点.以原来ASP的眼光看CGI的站点,感觉CGI对脚本的过滤应该很好.于是做了最初的测试.在用户一栏中填写
,提交用户注册后发现并没提出非法字符的提示.注册完成后,点击资料也发现页面变形了.如在其他几个如国家,性别里填写也会出现同样的问题,那页面就没法看了.于是换了一个站点,再次提交 出现了非法字符提示,看来站点是已经过滤的<>等HTML的脚本字符,那好,我们改用ASCII 码替换<> 如& #60; & #62;代替提交后再来看,又出现了上面页面变形的情况,看来非法过滤机制还不是很完善. 更有甚者,我竟发现一个站点内的姓名栏填写时没有字数大小设置,没有过滤任何非法字符,如果我提交个什么恶意代码那还不成全了我?
简单的脚本攻击如 等HTML格式的代码一定要过滤好,上面的一些站点还没牵扯到UBB就出问题了.那我们下面就开始重点讲一下UBB过滤漏洞的问题.UBB是论坛中用来替换HTML编辑的一种格式符号,如[b ][/b ]可以替换成HTML中的< b> b>..然而就是这一个替换问题,就成了跨站脚本攻击的最佳积聚地.测试了一个ASP留言版以及一个整站的程序代码:
初级问题: [url ]的过滤,在提交该代码时可以构建一个onmouseover函数的恶意代码,既然onmouseover可以生效,那还有什么办不到的?一些原码程序在变换[url ][/url ]时,只是将[url ]s2[/ url]中的s2直接提交到< a href="s2" target=_blank>S2中.看到如此转换我们可以使用相应的ASCII 码中的& #34;来代替",我们多提交一个"然后在构建onmouseover函数进行操作,后果?你应该知道!:P
[img ]的过滤,这真的算是个老大难的问题.很早以前就是[img]的脚本攻击流行一时啊.这次测试中,很多站点还是仍然存在这个漏洞.有点程序根本没有进行过滤.尤其是一些免费留言板的提供站点很多都存在这样的问题.下面我们主要将一下[IMG ]标签的问题:
很简单的[img ]javascript :alert();[/ img]提交后转换成的代码为< img src="javascript :alert();">,好,到这里我们就可以看到javascript :alert();被< img src="">标签激活了.表现就是弹出对话框.上面写着你在()中要提交的东西.如documents.cookie 呵呵..大多数人都应该知道这东西是做什么.更有甚者,使用document.write();函数,可以写网页.写什么?当然是恶意代码,如[ img]javascript :document.write();[ /img].()中间加你要加的,写你要写的,想多危险就多危险.
高级问题: 由于[img ]的初级问题骚扰很多站点就对一个敏感的字符开始过滤.如ja连接,do连接,wr连接,提交后自动分为j a,d o,w r.或是对字符进行过滤java,document,等等.而这些只能难倒一小部分人.我们仍然可以利用ASCII码来代替.可能有人会对代替后的代码仍然不能正常显示而困惑.好,我们下面以一个完整的例子介绍:
某站点UBB过滤代码段如下:
<%
Function code_ssstrers)
dim strer:strer=strers
if strer="" or isnull(strer) then code_ss"":exit function
strer=replace(strer,"<","<")
strer=replace(strer,">",">")
strer=replace(strer," "," ") ’空格
strer=replace(strer,CHR(9)," ") ’table
strer=replace(strer,"’","’") ’单引号
strer=replace(strer,"""",""") ’双引号
dim re,re_v
re_v="[^\(\)\;\’;""\[]*"
’re_v=".[^\[]*"
Set re=new RegExp
re.IgnoreCase =True
re.Global=True
re.Pattern="(javascript :)"
strer=re.Replace(strer,"javascript:")
re.Pattern="(javascript)"
strer=re.Replace(strer,"javascript")
re.Pattern="(jscript:)"
strer=re.Replace(strer,"jscript :")
re.Pattern="(js:)"
strer=re.Replace(strer,"js:")
re.Pattern="(value)"
strer=re.Replace(strer,"value")
re.Pattern="(about:)"
strer=re.Replace(strer,"about:")
re.Pattern="(file:)"
strer=re.Replace(strer,"file&:")
re.Pattern="(document.)"
strer=re.Replace(strer,"document :")
re.Pattern="(vbscript:)"
strer=re.Replace(strer,"vbscript :")
re.Pattern="(vbs:)"
strer=re.Replace(strer,"vbs :")
re.Pattern="(on(mouse|exit|error|click|key))"
strer=re.Replace(strer,"on$2")
能看懂ASP的朋友,就可以看出,以上代码段对javascript,jscript:,js:,about;value,document.,onmouse以及onexit等语句进行了过滤和替换.并对一些特殊字符进行了替换.如".",";""(",")" [替换代码为""中间的"..仔细观察代码后我们会发现其过滤机制并非想想象的那样完美.提交:[ mg]& #176& #93& #118& #97& #115& #79rip& #106& #57documen& #115& #76write& #30& #29哈哈又被黑了& #29& #61& #29[/ mg] 类似代码就可以实现更高级的脚本攻击.注:由于很多站点仍存在此问题,所以将代码修改过,无攻击性了.
打开你的FT2000,使用文本编辑,你可以找到任何特殊字符所属的ASCII码.如:分号;可以代替为 59,句点.可以代替为 46,以这样的形式我们再次提交代码.果然,上面整个的过滤机制几乎完全失效了.根本没起到什么防御作用.
看了以上的攻击方法,是不是觉得很郁闷?如果才能避免上面的问题发生?
1.如果你的站点程序含论坛,留言板,以及其他程序中含提交数据格式的,没有很好过滤机制,请马上下载升级程序或是停止使用.避免造成更多的问题.
2.各提供免费论坛,免费申请留言板的站,请将UBB格式关闭.或找到更好的解析UBB.ASP程序页.
3.对一些会编写ASP的朋友,我建议大家过滤一下字符:(全部字符将写在[]中)如:
["|.|;|:|\|/|&|$|#|`|)|,|’|"|-|~|[|(||] 注:其中|为分割符
4.对于某些站点建议去掉问题比较多的留言板,或是其他含提交的程序.如:原www.sangel.net使用的guestbook,一些不知名的程序体问题更是多多.建议换掉它.
5.我本人也修改了一个国外的留言板,前台基本已经修改完毕.后台这几天正在赶.修改后感觉在文本提交和输入以及留言时都有了很好的过滤.本来打算全采用英文界面,但考虑到N多chinese 对英语不过关,我还是将部分程序汉化了.有兴趣的朋友可以http://www.e3i5.com/guestbook/ 测试.我们欢迎善意的测试.
以下是国内一些经过本人测试的站点的留言板有问题的地址,(请各位站长注意啦,及时修补程序免得造成不必要的麻烦),测试的时间比较短一些,可能有一些站点没有找到.可能存在着更严重的问题.
以上就是这次脚本攻击测试的全部内容。综观全部站点,看上去安全性真是的不敢再想.问题多多.
虽然只是举手之劳就可以解决的问题,但稍不小心就会造成大问题。
你可能感兴趣的:(UBB的跨站脚本攻击的漏洞)
number类型的toFixed方法重写,toFixed四舍五入在数值很小时的精度问题
xixi_666
js toFixed
问题环境:1、在对数值0.005进行四舍五入保留2为数字时,在ie8会发现0.005.toFixed(2)=0.002、在toFixed使用小数点后为0的数字都被忽略,没有保留0作为小数位Number.prototype.toFixed=function(s){varchangenum=(parseInt(this*Math.pow(10,s)+0.5)/Math.pow(10,s)).toStr
javascript中toFixed()四舍五入计算bug,及解决方法,四舍六入,五看奇偶并不精准,重新toFixed方法才是万全之策呀
叫我小月儿
字符串 js bug javascript
问题描述:最近做一个项目涉及金额计算保留两位小数,以前一直以为toFixed方法就是四舍五入的,上线后用户用户反馈计算出来的金额少了一分钱,跟其票面金额不一致,深入研究后发现使用toFixed保留两位小数是大坑呀。请看下面的例子:3.135.toFixed(2)**本以为是3.14,然而却是3.13!!!**网上有人整理出toFixed方法“四舍六入,五看奇偶”的原则:当舍去位的数值=6时,在舍去
NVIDIA Isaac Lab 入门教程(一)
kuan_li_lyg
机器人最优控制工具 人工智能 机器人 开发语言 python 强化学习 模仿学习 Isaac
系列文章目录前言IsaacLab是一个用于机器人学习的统一模块化框架,旨在简化机器人研究中的常见工作流程(如RL、从演示中学习和运动规划)。它建立在英伟达IsaacSim的基础上,利用最新的仿真功能实现逼真的场景和快速高效的仿真。该框架的核心目标是模块化:轻松定制和添加新环境、机器人和传感器。灵活性:适应社区不断变化的需求。开放性:保持开源,允许社区贡献和扩展框架。包含电池:包含大量可随时使用的环
isaac lab 教程(二)
weixin_44572777
机器人
关于看过的内容的备份,在初期学习开发过程中是不必要的原文链接开发人员指南—IsaacLabdocumentation(robotsfan.com)开发人员指南对于开发,我们建议使用MicrosoftVisualStudioCode(VSCode)。NVIDIAOmniverse也建议使用此方法,并且存在有关如何使用VSCode进行调试Omniverse扩展的教程。设置VisualStudioCod
Struts2 架构
段远山
Struts2 java spring mvc struts2 python
Struts2是一个MVC拉动的(或MVC2)框架,Struts2的模型-视图-控制器模式是通过以下五个核心部分进行实现的:操作(Actions)拦截器(Interceptors)值栈(ValueStack)/OGNL结果(Result)/结果类型视图技术而Struts2与传统的MVC框架略有不同,因为它由Action扮演模型的角色,而不是控制器,虽然这样会有一些重叠。上图描述了Struts2高级
ssh创建密钥ansible批量分发
liujiangxu
linux ssh linux
ssh-keygen命令用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥SSH密钥默认保留在~/.ssh目录中id_rsa:私钥文件id_rsa.pub:公钥文件known_hosts:ssh访问不同的主机会将公钥记录到此文件,每次访问会核对密钥创建ssh密钥[root@ceshi-128~]#ssh-keygen-trsaGeneratingpublic/private
深入Kotlin语言在Android开发中的应用_Android_lecture07
新职语
本文还有配套的精品资源,点击获取简介:在Android开发领域,Kotlin凭借其简洁性、安全性和强大的交互能力已经成为首选编程语言。本讲座将深入讲解Kotlin的基础语法、空安全、类型系统、高阶函数与Lambda表达式、扩展函数与属性、Anko库、协程、Android核心组件以及数据绑定。同时,还将介绍Dagger2或Hilt依赖注入、MVVM架构和AndroidJetpack组件等高级技巧,并
ubuntu上编译fortran_Ubuntu下安装Intel Fortran编译器(ifort)
新职语
IntelFortanCompiler简称ifort,Windows下的ifort是收费的,但是Linux系统下提供免费的ifort,可以在下面的链接中下载需要的版本(必须先注册,随后会收到官网发来的邮件,里面提供了接下来安装需要的series-number)http://software.intel.com/en-us/articles/non-commercial-software-downl
Pytest Fixtures 介绍与用法
香奈儿5号奶茶
pytest
PytestFixtures是Pytest框架中用于管理测试前置条件和后置清理的一种强大工具。可以帮助我们在测试中设置初始状态,减少重复代码,并提高测试的可维护性登录后复制下载代码查看我的示例gitclonehttps://gitee.com/Ac1998/pytest-fixtures-demo.git1.2.下面我们来学习一下如何使用它前置条件已经安装了最新版本已安装Python基本了解如何使
php tofixed,js修复toFixed()四舍五入精度问题,并相对于原生提高了性能
weixin_39590868
php tofixed
思路是将小数分割成整数和小数部分然后进行四舍五入再补全字符串后的0目前没发现有什么问题。有bug请反馈谢谢代码原创,转载请注明连接谢谢"usestrict";/***https://my.oschina.net/isgaoyi/blog/4717508-v1.0(2020-11-15T01:46:32+0800)*
[email protected] **修复四舍五入精度问题*@me
python模块之psutil详解_基于python调用psutil模块过程解析
谢艺馨
这篇文章主要介绍了基于python调用psutils模块过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下用Python来编写脚本简化日常的运维工作是Python的一个重要用途。在Linux下,有许多系统命令可以让我们时刻监控系统运行的状态,如ps,top,free等等。要获取这些系统信息,Python可以通过subprocess模块调用并获
mysql冷热备份方案_MySQL双机热备份实施方案
析木分野
mysql冷热备份方案
MySQL双机热备份实施方案1、MySQL数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现MySQL数据库的热备份。2、要想实现双机的热备首先要了解主从数据库服务器的版本的需求。要实现热备MySQL的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务
软件测试基础:全面入门与实践指南
AWS云计算
本文还有配套的精品资源,点击获取简介:软件测试是软件开发中的关键环节,对产品的质量和用户体验起决定性作用。本文详细介绍了软件测试的基本概念、类型、方法和过程,提供了测试工具的选择建议,并强调了持续学习、沟通协作、问题解决和业务理解的重要性。这些内容为软件测试的初学者提供了全面的入门指导和实践建议。1.软件测试基本概念与目标软件测试是确保软件质量和可靠性的关键环节,贯穿于整个软件开发生命周期。测试的
用 Neo4j GraphRAG 工具开启你的智能应用之旅
步子哥
AGI通用人工智能 neo4j 人工智能
在这个人工智能飞速发展的时代,Neo4j带来了一项令人激动的创新——GraphRAG生态系统工具。这组开源工具为开发人员提供了一个全新的途径,以构建基于知识图谱的智能应用,让机器更好地理解和回应我们的查询。接下来,让我们一起探索这些工具如何帮助我们构建更智能、更准确的应用。什么是GraphRAG?GraphRAG是一种结合了检索增强生成(RAG)技术和知识图谱的解决方案。它不仅解决了大型语言模型常
coxphfit+matlab,计算Cox比例风险模型的coxph和cph函数有什么区别?
Mandy Liu
coxphfit+matlab
RCS=受限立方样条。您可以通过查看help(package="rms")找到函数的帮助文件下面是源代码的摘录,所以你可以看到那里的cph函数调用coxph.fit功能(的coxph在survival包胆量)>cph[...]if(nullmod)f=NULLelse{ytype=attr(Y,"type")fitter=if(method=="breslow"||method=="efron")
Python subprocess模块学习总结
weixin_34414196
python shell 操作系统
2019独角兽企业重金招聘Python工程师标准>>>从Python2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如os.system、os.spawn*、os.popen*、popen2.*、commands.*不但可以调用外部的命令作为子进程,而且可以连接到子进程的input/output/error管道,获取相关的返回信息一、subprocess以
服务器中的流量主要是指什么?
wanhengidc
服务器 运维 流量
服务器流量就是指服务器在单位时间内所传输的数据量,服务器流量在互联网中起着十分重要的作用,一般会被用来处理网站的访问请求,当用户在网站中浏览网页和视频时,服务器会接收到用户的请求,同时会返回网站的内容。服务器流量能够决定服务器可以处理的用户访问量和反应速度,服务器中的高流量则表示着可以同时处理多种用户请求,还可以保证网站正常运行和响应用户请求。服务器流量也是评估服务器性能的重要参考指标之一,管理员
正确解决error: subprocess-exited-with-error异常的有效解决方法
飞码创造者
解决bug 服务器 python bug 人工智能 深度学习
正确解决error:subprocess-exited-with-error异常的有效解决方法文章目录报错问题报错原因解决方法报错问题error:subprocess-exited-with-error异常报错原因遇到subprocess-exited-with-error异常,通常意
Python 使用期物处理并发
weixin_30267785
操作系统 python javascript ViewUI
抨击线程的往往是系统程序员,他们考虑的使用场景对一般的应用程序员来说,也许一生都不会遇到……应用程序员遇到的使用场景,99%的情况下只需知道如何派生一堆独立的线程,然后用队列收集结果。示例:网络下载的三种风格为了高效处理网络I/O,需要使用并发,因为网络有很高的延迟,所以为了不浪费CPU周期去等待,最好在收到网络响应之前做些其他的事。为了通过代码说明这一点,我写了三个示例程序,从网上下载20个国家
独立服务器在网络游戏中的优势
wanhengidc
服务器 运维
独立服务器是指单个客户端具有着独占访问权的服务器类型,让企业可以安装业务中所需的任何软件,其中包括多个操作系统和应用程序,本文主要来介绍独立服务器在网络游戏中都有哪些优势和作用。独立服务器在网络游戏中的优势之一就在于让用户可以控制自己的游戏体验感,用户能够根据自身的需求来配置服务器,可以选择操作系统、安装自定义脚本和设置游戏配置,同时还能够控制游戏中的玩家数量来释放内存。在大型多人在线网络游戏中,
导致服务器数据包丢失的原因有哪些?
wanhengidc
服务器 运维
服务器出现数据包丢失的情况通常是在网络传输的过程中,服务器无法接收到数据来传输到目标设备中,从而导致数据包丢失的情况,这种现象会影响着网站的访问速度,严重的话会导致业务出现中断。本文就来探讨一下导致服务器数据包丢失的原因都有哪些吧!服务器出现数据包丢失的情况可能是机房网络不稳定引起的,当服务器所放置的机房线路质量较差,网络波动比较大,就会出现数据包丢失的情况,所以企业在选择服务器租用时,需要了解机
JSON-RPC是什么?和HTTP request的区别?
virusos
随便记一下 rpc http json
RPC(RemoteProcedureCall)指的是远程过程调用,简单的说,RPC就是从一台机器上通过参数传递的方式调用另一台机器上的一个函数或方法并得到响应结果。JSON-RPC:remoteprocedurecallprotocolencodedinJSONHTTP:可以看作是RPC的一种具体形式区别:HTTP有标准,具有通用性,如格式、字段等等,可以方便地在网络上开放HTTPAPI让别的机
【pytest】fixture 间的互调,fixture 的作用域、执行顺序
waitan2018
pytest fixture scope fixture 作用域 fixture 执行顺序
fixtures之间互调:pytest中fixtures之间也可以互相调用:#
[email protected] ()deffix_init_1():print("\nfix_init_1...")@pytest.fixture()deffix_init_2(fix_init_1):print("\nfix_init_2...")@pytest.fixtur
软件测试学习路线
IT菇凉
单元测试 jmeter 功能测试
软件测试学习路线1.软件测试基础知识内容软件测试职业以及发展定位软件测试的概述&原则软件测试的策略及详细讲解软件测试的生命周期软件测试工作流程软件需求分析制作详解软件测试计划的编写软件测试用例的常用方法–等价类,边界值软件测试用例的常用方法–因果图,判定表测试用例的常用方法–状态迁移图;场景法软件测试环境准备&团队组织架构&职责划分bug编写规范,教你写出不low的缺陷bug的流转与状态处理缺陷编
window.close() 关闭菜单不好使
guhy fighting
前端 javascript html
前言:项目开发中有一个需求需要通过window.close()将浏览器的窗口关闭,使用window.close();没能有效关闭窗口,功能失效了。查找网上很多的解决办法,总结如下:1、window.close();2、window.opener=null;window.open('','_self');window.close()3、window.open(“about:blank”,“_self
AI编程:记一次小程序开发的踩坑之旅
京河小蚁
AI编程 微信小程序 cursor AI编程 微信小程序
今天是个有趣的开发日,遇到了几个典型的小程序开发问题,分享给大家,希望能帮助到遇到类似问题的开发者。一、小程序名称备案那些事开发完小程序后,第一个坎就是名称备案。原本取名为"Moodo",寓意是"Mood"(心情)+“do”(做),想表达记录心情、管理情绪的理念。但遗憾的是没有通过备案。这提醒我们:小程序命名要避免使用纯英文不要使用过于宽泛的词语最好能体现小程序的核心功能避免与知名品牌相近的名称二
ansible 指定用户名并免密批量执行
HOPE YOU WELL
三藏 ssh linux 服务器
由于root账户出现故障,导致ansible无法正常执行ssh-agent/bin/bash和ssh-add/root/.ssh/id_sra命令,所以采用命令的方式完成当即需要完成的工作ansible-i清单文件清单-mshell-a"bash/root/worker/u-worker-s.shrefund"-u用户名--key-file/home/私钥位置-b--become-method=s
数据包的发送流程
sumatch
网络
以绿皮聊天软件为例:首先,我们两个手机的绿皮聊天软件客户端,要通信,中间会通过它们家服务器。大概长这样。但为了简化模型,我们把中间的服务器给省略掉,假设这是个端到端的通信。且为了保证消息的可靠性,我们盲猜它们之间用的是TCP协议进行通信。为了发送数据包,两端首先会通过三次握手,建立TCP连接。一个数据包,从聊天框里发出,消息会从聊天软件所在的用户空间拷贝到内核空间的发送缓冲区(sendbuffer
goGin框架教程
sumatch
go golang
1.gin框架入门1.1介绍Gin是一个用Golang编写的高性能的web框架,由于http路由的优化,速度提高了近40倍。Gin的特点就是封装优雅、API友好。Gin的一些特性:快速基于Radix树的路由,小内存占用。没有反射。可预测的API性能。支持中间件传入的HTTP请求可以由一系列中间件和最终操作来处理。例如:Logger,Authorization,GZIP,最终操作DB。Crash处理
rabbitmq和redis用作消息队列的区别
rlk512974883
JAVA基础
将redis发布订阅模式用做消息队列和rabbitmq的区别:可靠性redis:没有相应的机制保证消息的可靠消费,如果发布者发布一条消息,而没有对应的订阅者的话,这条消息将丢失,不会存在内存中;rabbitmq:具有消息消费确认机制,如果发布一条消息,还没有消费者消费该队列,那么这条消息将一直存放在队列中,直到有消费者消费了该条消息,以此可以保证消息的可靠消费;实时性redis:实时性高,redi
java类加载顺序
3213213333332132
java
package com.demo;
/**
* @Description 类加载顺序
* @author FuJianyong
* 2015-2-6上午11:21:37
*/
public class ClassLoaderSequence {
String s1 = "成员属性";
static String s2 = "
Hibernate与mybitas的比较
BlueSkator
sql Hibernate 框架 ibatis orm
第一章 Hibernate与MyBatis
Hibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。
MyBatis 参考资料官网:http:
php多维数组排序以及实际工作中的应用
dcj3sjt126com
PHP usort uasort
自定义排序函数返回false或负数意味着第一个参数应该排在第二个参数的前面, 正数或true反之, 0相等usort不保存键名uasort 键名会保存下来uksort 排序是对键名进行的
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8&q
DOM改变字体大小
周华华
前端
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
c3p0的配置
g21121
c3p0
c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0的下载地址是:http://sourceforge.net/projects/c3p0/这里可以下载到c3p0最新版本。
以在spring中配置dataSource为例:
<!-- spring加载资源文件 -->
<bean name="prope
Java获取工程路径的几种方法
510888780
java
第一种:
File f = new File(this.getClass().getResource("/").getPath());
System.out.println(f);
结果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin
获取当前类的所在工程路径;
如果不加“
在类Unix系统下实现SSH免密码登录服务器
Harry642
免密 ssh
1.客户机
(1)执行ssh-keygen -t rsa -C "
[email protected] "生成公钥,xxx为自定义大email地址
(2)执行scp ~/.ssh/id_rsa.pub root@xxxxxxxxx:/tmp将公钥拷贝到服务器上,xxx为服务器地址
(3)执行cat
Java新手入门的30个基本概念一
aijuans
java java 入门 新手
在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念。 Java概述: 目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合
Memcached for windows 简单介绍
antlove
java Web windows cache memcached
1. 安装memcached server
a. 下载memcached-1.2.6-win32-bin.zip
b. 解压缩,dos 窗口切换到 memcached.exe所在目录,运行memcached.exe -d install
c.启动memcached Server,直接在dos窗口键入 net start "memcached Server&quo
数据库对象的视图和索引
百合不是茶
索引 oeacle数据库 视图
视图
视图是从一个表或视图导出的表,也可以是从多个表或视图导出的表。视图是一个虚表,数据库不对视图所对应的数据进行实际存储,只存储视图的定义,对视图的数据进行操作时,只能将字段定义为视图,不能将具体的数据定义为视图
为什么oracle需要视图;
&
Mockito(一) --入门篇
bijian1013
持续集成 mockito 单元测试
Mockito是一个针对Java的mocking框架,它与EasyMock和jMock很相似,但是通过在执行后校验什么已经被调用,它消除了对期望 行为(expectations)的需要。其它的mocking库需要你在执行前记录期望行为(expectations),而这导致了丑陋的初始化代码。
&nb
精通Oracle10编程SQL(5)SQL函数
bijian1013
oracle 数据库 plsql
/*
* SQL函数
*/
--数字函数
--ABS(n):返回数字n的绝对值
declare
v_abs number(6,2);
begin
v_abs:=abs(&no);
dbms_output.put_line('绝对值:'||v_abs);
end;
--ACOS(n):返回数字n的反余弦值,输入值的范围是-1~1,输出值的单位为弧度
【Log4j一】Log4j总体介绍
bit1129
log4j
Log4j组件:Logger、Appender、Layout
Log4j核心包含三个组件:logger、appender和layout。这三个组件协作提供日志功能:
日志的输出目标
日志的输出格式
日志的输出级别(是否抑制日志的输出)
logger继承特性
A logger is said to be an ancestor of anothe
Java IO笔记
白糖_
java
public static void main(String[] args) throws IOException {
//输入流
InputStream in = Test.class.getResourceAsStream("/test");
InputStreamReader isr = new InputStreamReader(in);
Bu
Docker 监控
ronin47
docker监控
目前项目内部署了docker,于是涉及到关于监控的事情,参考一些经典实例以及一些自己的想法,总结一下思路。 1、关于监控的内容 监控宿主机本身
监控宿主机本身还是比较简单的,同其他服务器监控类似,对cpu、network、io、disk等做通用的检查,这里不再细说。
额外的,因为是docker的
java-顺时针打印图形
bylijinnan
java
一个画图程序 要求打印出:
1.int i=5;
2.1 2 3 4 5
3.16 17 18 19 6
4.15 24 25 20 7
5.14 23 22 21 8
6.13 12 11 10 9
7.
8.int i=6
9.1 2 3 4 5 6
10.20 21 22 23 24 7
11.19
关于iReport汉化版强制使用英文的配置方法
Kai_Ge
iReport汉化 英文版
对于那些具有强迫症的工程师来说,软件汉化固然好用,但是汉化不完整却极为头疼,本方法针对iReport汉化不完整的情况,强制使用英文版,方法如下:
在 iReport 安装路径下的 etc/ireport.conf 里增加红色部分启动参数,即可变为英文版。
# ${HOME} will be replaced by user home directory accordin
[并行计算]论宇宙的可计算性
comsci
并行计算
现在我们知道,一个涡旋系统具有并行计算能力.按照自然运动理论,这个系统也同时具有存储能力,同时具备计算和存储能力的系统,在某种条件下一般都会产生意识......
那么,这种概念让我们推论出一个结论
&nb
用OpenGL实现无限循环的coverflow
dai_lm
android coverflow
网上找了很久,都是用Gallery实现的,效果不是很满意,结果发现这个用OpenGL实现的,稍微修改了一下源码,实现了无限循环功能
源码地址:
https://github.com/jackfengji/glcoverflow
public class CoverFlowOpenGL extends GLSurfaceView implements
GLSurfaceV
JAVA数据计算的几个解决方案1
datamachine
java Hibernate 计算
老大丢过来的软件跑了10天,摸到点门道,正好跟以前攒的私房有关联,整理存档。
-----------------------------华丽的分割线-------------------------------------
数据计算层是指介于数据存储和应用程序之间,负责计算数据存储层的数据,并将计算结果返回应用程序的层次。J
&nbs
简单的用户授权系统,利用给user表添加一个字段标识管理员的方式
dcj3sjt126com
yii
怎么创建一个简单的(非 RBAC)用户授权系统
通过查看论坛,我发现这是一个常见的问题,所以我决定写这篇文章。
本文只包括授权系统.假设你已经知道怎么创建身份验证系统(登录)。 数据库
首先在 user 表创建一个新的字段(integer 类型),字段名 'accessLevel',它定义了用户的访问权限 扩展 CWebUser 类
在配置文件(一般为 protecte
未选之路
dcj3sjt126com
诗
作者:罗伯特*费罗斯特
黄色的树林里分出两条路,
可惜我不能同时去涉足,
我在那路口久久伫立,
我向着一条路极目望去,
直到它消失在丛林深处.
但我却选了另外一条路,
它荒草萋萋,十分幽寂;
显得更诱人,更美丽,
虽然在这两条小路上,
都很少留下旅人的足迹.
那天清晨落叶满地,
两条路都未见脚印痕迹.
呵,留下一条路等改日再
Java处理15位身份证变18位
蕃薯耀
18位身份证变15位 15位身份证变18位 身份证转换
15位身份证变18位,18位身份证变15位
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 201
SpringMVC4零配置--应用上下文配置【AppConfig】
hanqunfeng
springmvc4
从spring3.0开始,Spring将JavaConfig整合到核心模块,普通的POJO只需要标注@Configuration注解,就可以成为spring配置类,并通过在方法上标注@Bean注解的方式注入bean。
Xml配置和Java类配置对比如下:
applicationContext-AppConfig.xml
<!-- 激活自动代理功能 参看:
Android中webview跟JAVASCRIPT中的交互
jackyrong
JavaScript html android 脚本
在android的应用程序中,可以直接调用webview中的javascript代码,而webview中的javascript代码,也可以去调用ANDROID应用程序(也就是JAVA部分的代码).下面举例说明之:
1 JAVASCRIPT脚本调用android程序
要在webview中,调用addJavascriptInterface(OBJ,int
8个最佳Web开发资源推荐
lampcy
编程 Web 程序员
Web开发对程序员来说是一项较为复杂的工作,程序员需要快速地满足用户需求。如今很多的在线资源可以给程序员提供帮助,比如指导手册、在线课程和一些参考资料,而且这些资源基本都是免费和适合初学者的。无论你是需要选择一门新的编程语言,或是了解最新的标准,还是需要从其他地方找到一些灵感,我们这里为你整理了一些很好的Web开发资源,帮助你更成功地进行Web开发。
这里列出10个最佳Web开发资源,它们都是受
架构师之面试------jdk的hashMap实现
nannan408
HashMap
1.前言。
如题。
2.详述。
(1)hashMap算法就是数组链表。数组存放的元素是键值对。jdk通过移位算法(其实也就是简单的加乘算法),如下代码来生成数组下标(生成后indexFor一下就成下标了)。
static int hash(int h)
{
h ^= (h >>> 20) ^ (h >>>
html禁止清除input文本输入缓存
Rainbow702
html 缓存 input 输入框 change
多数浏览器默认会缓存input的值,只有使用ctl+F5强制刷新的才可以清除缓存记录。
如果不想让浏览器缓存input的值,有2种方法:
方法一: 在不想使用缓存的input中添加 autocomplete="off";
<input type="text" autocomplete="off" n
POJO和JavaBean的区别和联系
tjmljw
POJO java beans
POJO 和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比 POJO复杂很多, Java Bean 是可复用的组件,对 Java Bean 并没有严格的规
java中单例的五种写法
liuxiaoling
java 单例
/**
* 单例模式的五种写法:
* 1、懒汉
* 2、恶汉
* 3、静态内部类
* 4、枚举
* 5、双重校验锁
*/
/**
* 五、 双重校验锁,在当前的内存模型中无效
*/
class LockSingleton
{
private volatile static LockSingleton singleton;
pri