本文同步自我的博客园:http://hustskyking.cnblogs.com
该文章是本人两天的学习笔记,共享出来,跟大家交流。知识比较零散,但是对有一定 JS 基础的人来说,每个小知识都有助于开阔你的 Hack 视角。首先声明,本文只是 XSS 攻击的冰山一角,读者自行深入研究。
一、XSS学习提要
http://qdemo.sinaapp.com/ppt/xss/ 三水清 简单介绍 xss
http://drops.wooyun.org/tips/689 乌云 xss与字符编码
http://www.wooyun.org/whitehats/心伤的瘦子 系列教程
http://ha.ckers.org/xss.html 反射性XSS详细分析和解释
http://html5sec.org/ 各种技巧 ★★★★★
http://www.80sec.com/ 一些不错的文章
二、XSS攻击要点
注意:这些插入和修改都是为了避开浏览器自身的过滤,或者开发者认为的过滤。
1. document.write innerHTML eval setTimeout/setInterval等等都是很多XSS攻击注入的入口。
2. html实体编码
> "alert("Barret李靖")".replace(/./g, function(s){
return "" + s.charCodeAt(0)
/*.toString(16) 转换成16进制也可以滴*/
+ ";"
});
> "alert(1)"
3. 如果过滤 html 实体编码,可以改成URL编码
> encodeURIComponent("")
> "%26%23"
4. 利用 HTML5 新增字符
: 冒号

 换行
XSS
5. JS进制转换
> "\74\163\143\162\151\160\164\76\141\154\145\162\164\50\61\51\74\57\163\143\162\151\160\164\76"
> ""
6. Base64转换
> base64("");
> PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==
XSS
7. 浏览器解析非严格性
↓ ↓ ↓ ↓ ↓ ↓
① ② ③ ④ ⑤ ⑥
①中可插入 NUL字符(0x00) ②和④中空格可以使用 tab(0x0B)与换页键(0x0C),②还可以使用 / 替换 ⑤中的"在IE中也可替换成`。
位置 | 代码 | 可能插入或替代的代码
------------|--------------------------|-----------------------
<的右边 | <[here]a href="... | 控制符,空白符,非打印字符
a标签的后门 | | 其他引号
>之前 | | 任意字符
/之前 | ...<[here]/a>| 空白符,控制符
/之后 | ...[here]a>| 空白符,控制符
>闭合之前 | … | 所有字符
8. 斜杠
在字符串中斜杠(/)可以用于转义字符,比如转义 " 和 ' ,双斜杠(//)可以用来注释。这样可以很轻松的改变之前的语句,注入内容。
9. 空格的处理方式
在解析的时候空格被转移成 ,注入的时候可以使用 /**/来替换。
10. 特殊属性
1)srcdoc属性(chrome有效)
2)autofoucus
3)object
11.绕过浏览器过滤(crhome)
?t=">
浏览器会过滤onerror中的代码,所以换种方式注入
?t=">
3. meta标签
Javascript: 协议可能被禁止,可以使用 data:
">
4. css注入
7. 阻止编码
?t=;alert("Barret李靖")
上面可以看到 ";" 被编码了,观察页面编码:
gbxxx系列编码,可以尝试宽字节:
?t=%c0%22alert("Barret李靖")
8. 攻击单行注释
URL对应的param中添加换行符(%0a)或者其他换行符。
?t=%0aalert("Barret李靖")//
// init('id', "%0aalert("Barret李靖")//");
被解析成
// init('id', "
alert("Barret李靖")//");
9. url
url中可以使用很多协议 http:// https:// javascript: vbscript: data:等等,利用这些属性,可以找到很多的空隙。
">XSS
10. Flash跨域注入
这个我不太熟悉,现在网页上Flash用的越来越少了,懒得继续看了。
11. 利用事件
12. 利用标签
四、XSS攻击实质
XSS攻击没太多神奇的地方,就是利用浏览器防御不周到或者开发者代码不健壮,悄悄对页面或者服务器进行攻击。
1. 绕过过滤
URL中的 <,在DOM XSS中,可以使用 \u003c (unicode编码)表示,不过他有可能被过滤了,最后解析成<,也可以使用 \x3c (Javascript 16进制编码),> 对应使用 \x3e。这种情况经常在 innerHTML 以及 document.write 中用到。
所谓的过滤包括人工过滤,也包括了浏览器HTML与JavaScript本身的过滤,程序员会在浏览器本身过滤过程中进行一些干扰和修改,这几个流程都给我们提供了很多 xss 攻击的入口。
1) 数据需要过滤,但是未过滤。导致XSS。比如:昵称、个人资料。 2) 业务需求使得数据只能部分过滤,但过滤规则不完善,被绕过后导致XSS。比如:日志、邮件及其它富文本应用。
2. 利用源码中js的解析
比如第二部分提出的第11点,浏览器的拦截
?t=">
这样的插入会被拦截,当你发现源码中有这么一句话的时候:
function parseURL(){
//...
t.replace("WOW", "");
//..
}
便可以修改如上参数:
?t=">alert("Barret李靖")
直接绕过了chrome浏览器对危险代码的防御。
五、学会XSS攻击
1. 寻找可控参数
攻击入口在哪里?一般是有输入的地方,比如URL、表单、交互等。
含参数的URL中找到参数 value 值的输出点,他可能在html中输入,也可能是在javascript中
实验各种字符(< , > " '等),判断是否被过滤,测试方式,手动输入测试
确定可控范围,是否可以使用unicode编码绕过,是否可以使用HTML编码绕过,是否可以使用Javascript进制编码绕过等等
2. 开始注入
注入细节上面都是,基本的思维模式:
3. 修补注入错误
注入后保证没有语法错误,否则代码不会执行,注入了也没用。这里的意思是,你注入的一个参数可能在脚本多处出现,你可以保证一处没语法错误,但是不能保证处处都正确
4. 开搞 测试的时候alert("Barret李靖"),弹出成功再继续其他更邪恶的注入方式。
六、XSS分类
为什么留到后面说。XSS也了解了很多次了,每次都是先从概念触发,感觉没啥意思,什么反射性、DOM型、储存型等等,还不如先去实践下,凭着自己对XSS的理解,多看几个网站的源码,找找乐趣。
存储型和反射型相比,只是多了输入存储、输出取出的过程。简单点说:
反射型是:输入--输出; 存储型是:输入--进入数据库*--取出数据库--输出。
这样一来,大家应该注意到以下差别:
反射型是:绝大部分情况下,输入在哪里,输出就在哪里。 存储型是:输入在A处进入数据库, 而输出则可能出现在其它任何用到数据的地方。
反射型是:输入大部分位于地址栏或来自DOM的某些属性,也会偶尔有数据在请求中(POST类型) 存储型是:输入大部分来自POST/ GET请求,常见于一些保存操作中。
因而我们找存储型的时候,从一个地方输入数据,需要检测很多输出的点,从而可能会在很多点发现存储型XSS。
七、辅助工具
http://ha.ckers.org/xsscalc.html
chrome插件 (xss Encode,百度之)
抓包工具,fiddler4 chales
白名单过滤工具github/js-xss
八、小结
简单小结:
& 号不应该出现在HTML的大部分节点中。
括号<>是不应该出现在标签内的,除非为引号引用。
在ext节点里面,<左尖括号有很大的危害。
引号在标签内可能有危害,具体危害取决于存在的位置,但是在text节点是没有危害的。
。。。
关注漏洞报告平台 Wooyun,多动脑筋,手动 hack。最重要的还是先黑客再红客。
九、参考资料
http://drops.wooyun.org/tips/689
http://drops.wooyun.org/tips/147
http://www.web-tinker.com/article/20468.html
http://www.wooyun.org/whitehats/心伤的瘦子
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
你可能感兴趣的:(hack,xss)
Spring Security OAuth2.0在分布式系统中的安全实践
引言分布式系统架构下,安全认证与授权面临跨服务、高并发、多租户等挑战。SpringSecurity与OAuth2.0的结合为微服务安全提供了标准化解决方案。分布式系统中的安全挑战跨服务身份认证的复杂性令牌管理的可扩展性问题多租户场景下的权限隔离需求防止CSRF、XSS等常见攻击SpringSecurityOAuth2.0核心架构授权服务器设计@EnableAuthorizationServer配置
ubuntu的redis反弹shell总结
chanra
萌新随笔 ubuntu redis linux
ubuntu的redis反弹shell总结ubuntu要执行有三点:1、ubuntu的默认执行命令的为/bin/dash,我们使用bash-i肯定是弹不了的。2、ubuntu计划任务运行有语法要求,redis写入的文件存在缓存数据,导致语法错误无法运行计划任务。3、文件需要是600rw权限,权限不对也不能运行,不过我直接写入貌似就是600rw。参考链接:http://www.vkxss.top/2
Crome:因果鲁棒奖励建模框架——破解LLM对齐中的奖励黑客难题
大千AI助手
人工智能 # OTHER Python 人工智能 深度学习 神经网络 大模型 因果推断 奖励黑客 RewardHacking
Crome(CausalRobustRewardModeling)是由GoogleDeepMind联合麦吉尔大学和魁北克人工智能研究所(MILA)于2025年提出的创新框架,旨在解决大语言模型(LLM)对齐中奖励模型(RM)的奖励黑客(RewardHacking)问题。该框架通过因果数据增强与反事实训练机制,显著提升RM对真实质量属性(如事实性、安全性)的敏感性,同时抑制对虚假属性(如文本长度、格
高级07-Java安全编程:保护你的应用免受攻击
Jinkxs
Java高级篇 安全 java
引言在当今的数字时代,应用程序的安全性已成为软件开发过程中不可忽视的重要环节。Java作为一门广泛应用于企业级应用开发的编程语言,其安全性问题尤其受到关注。无论是在Web应用、移动应用还是后端服务中,Java开发者都需要面对各种潜在的安全威胁,如SQL注入、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)、身份验证漏洞等。因此,掌握Java安全编程的最佳实践,不仅能够提升应用程序的健壮性,还能有效
宝塔开放php openssl,[教程]Centos宝塔面板升级openssl增强nginxSSL安全性,openssl开启Http/2,Centos升级openssl...
weixin_39956353
宝塔开放php openssl
由于本站是采用的Centos7+宝塔面板搭建的LNMP环境,但是Centos7默认的openssl版本又太低,根据“漏洞参考这里:https://www.trustasia.com/OpenSSL-CVE-2016-2107-Padding-Oracle”查看这篇文章发现openssl低版本已经有一堆漏洞了,所以就萌生了升级openssl版本的想法。配置完后如图:openssl版本低会导致无论你怎
微信小程序开发框架与工具详解
一、小程序开发框架与工具介绍小程序开发框架:是一套用于快速构建小程序的开发框架,提供了丰富的组件和API,使得开发者能够快速搭建小程序,并实现丰富的功能。小程序开发工具:是用于辅助小程序开发的工具,提供了代码编辑、调试、预览等功能,使得开发者能够更加高效地进行开发和调试。二、微信小程序开发框架原生框架:原生框架是指基于微信官方提供的原生组件和API进行开发,使用WXML模板语言、WXSS样式语言和
微信小程序动态柱状图实现案例分析
本文还有配套的精品资源,点击获取简介:微信小程序是一种面向移动端的应用开发平台,利用WXML和WXSS以及JavaScript进行开发。本文介绍了如何在微信小程序中实现动态柱状图的实例,涵盖了数据驱动、使用图表库、生命周期方法、动画效果、事件处理、布局与样式设计、API调用以及调试与发布等关键知识点。通过实际案例源码分析,帮助开发者深入理解动态柱状图的实现过程和技术要点。1.微信小程序开发基础微信
微信小程序 环形进度条_微信小程序:实时圆形进度条实现
武奘
微信小程序 环形进度条
第九程序给大家带来微信小程序:实时圆形进度条实现,希望大家在开发小程序过程中能够帮助大家解决。废话不多说,先上一张效果图!实现思路建立两个canvas标签,先绘制底层的浅灰色圆圈背景,再绘制上层的红色进度条。WXML代码开始动态绘制WXSS代码特别注意:底层的canvas最好使用z-index:-99;放置于底层page{width:100%;height:100%;background-colo
如何实现零成本裂变?微信推客带货小程序开发功能模式全解析
开发加微信:hedian116
微信
引言在当今社交电商蓬勃发展的背景下,微信推客系统作为一种基于社交关系的分销模式,其技术实现和架构设计值得开发者深入探讨。本文将从技术角度分析微信推客系统的核心组件和实现原理,避免商业营销,专注于技术层面的分享。一、微信推客系统的基本架构1.1前端架构微信推客系统通常采用混合开发模式:小程序前端:使用WXML+WXSS+JavaScript技术栈H5页面:Vue.js或React框架实现跨平台兼容原
微信小程序之自定义模态弹窗(带动画)实例-——-微信小程序实战系列(8)(1)
2401_84149213
程序员 微信小程序 notepad++ 小程序
这样的模态弹窗,充其量只能做个alert,提示一下信息。但是并不能使用它来处理复杂性的弹窗业务,因此写了Michael从新自定义了一个,采用了仿原生的样式写法wxml:button弹窗标题标题标题标题标题备注确定wxss:/button/.btn{width:80%;padding:20rpx0;border-radius:10rpx;text-align:center;margin:40rpx1
P1019 [NOIP2000 提高组] 单词接龙
立志成为master
c++ 算法 开发语言
题目背景注意:本题为上古NOIP原题,不保证存在靠谱的做法能通过该数据范围下的所有数据。本题为搜索题,本题不接受hack数据。关于此类题目的详细内容NOIP2000提高组T3题目描述单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如beas
2024年前端面试题及答案
2401_84433924
程序员 前端
所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。3如何解决跨域?能说1,2,7,8就行。1、通过jsonp跨域2、CORS3、document.domain+iframe跨域4、location.hash+iframe5、window.name+iframe跨域
XSS基础
Z_zz_Z___
xss 前端 php
一、xss的基本介绍在现代的网站中包含有许多大量动态的内容,而恶意攻击者会在Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。动态的站点就受到“跨站脚本攻击”(CrossSiteScripting简称xss)。跨站脚本攻击是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种,恶意用户利用xss代码攻击成功后,可
【网络安全】2025年最新高频面试真题(答案+解析)
前字节网络安全工程师
网络安全 web安全 面试 安全
金九银十将至,难免有不少小伙伴面临跳槽或者找工作,本文总结了常见的安全岗位面试题,方便各位复习。祝各位事业顺利,财运亨通。1.解释OWASPTop10中的SQL注入漏洞?注入原理、常见防御措施(如参数化查询)、实际漏洞案例2.描述OSI模型七层及其安全风险?每层名称(如物理层)、漏洞类型(如数据链路层ARP欺骗)、防护工具3.什么是XSS攻击?如何区分存储型和反射型?恶意脚本执行示例、漏洞利用场景
网络安全自学入门:(超详细)从入门到精通学习路线&;规划,学完即可就业
2401_84264010
程序员 web安全 学习 安全
4.遇到实在搞不懂的,可以先放放,以后再来解决网络安全零基础入门学习路线&规划初级1、网络安全理论知识(2天)①了解行业相关背景,前景,确定发展方向。②学习网络安全相关法律法规。③网络安全运营的概念。④等保简介、等保规定、流程和规范。(非常重要)2、渗透测试基础(一周)①渗透测试的流程、分类、标准②信息收集技术:主动/被动信息搜集、Nmap工具、GoogleHacking③漏洞扫描、漏洞利用、原理
【网络安全】XSS攻击
第十六年盛夏.
网安 web安全 xss 前端
如果文章不足还请各位师傅批评指正!XSS攻击是什么?XSS全称是“CrossSiteScripting”,也就是跨站脚本攻击。想象一下,你正在吃一碗美味的面条,突然发现里面有一只小强!恶心不?XSS攻击就是这么个感觉——它往正常的网页里塞进恶意代码,等你打开网页时,这段代码就会悄悄执行,可能偷走你的信息,比如账号、密码之类的。一、XSS攻击的原理:藏在网页里的“坏心眼纸条”想象一下,你和朋友们在一
7月24日总结
克莱因蓝lhy
前端
BUU树洞用xss安全平台上的js代码获取网站的cookie和URL抓包修改cookie后即可回显flag信息收集网络安全入门—信息收集(完整版)_安全信息搜集-CSDN博客子域名收集1.oneforallOneForAll工具:安装指南、使用方法及常见问题解决(超全)-CSDN博客pythononeforall.py--targetxxxxxxrun(xxxx是查询的域名)2.搜索引擎高级语法s
Karakurt:一个新型数据盗窃和勒索的黑客组织
白面安全猿
ctf 网络安全 渗透 安全 web安全
据Thehackernews消息,2021年9月至11月期间,埃森哲发现一个此前未被记录在案的新型黑客组织,该组织被发现与40多起数据盗窃和勒索攻击事件有关。根据埃森哲12月10日发布报告称,该黑客团体自称为Karakurt,于2021年6月首次被发现,能够根据目标环境的变化修改其技术策略。“该黑客组织以追求利润最大化为目标的投机主义分子,截至目前,它都以较小的公司为目标,这点与其他黑客组织不同。
XSS Payload 学习浏览器解码
菜鸟一个昂
servlet
目录问题一:问题二:问题三:问题四:问题五:问题六:问题七:问题八:问题九:问题十:问题十一:问题十二:问题十三:问题十四:问题十五:问题一:无法弹窗原因:urlcode无法识别协议(javascript:)html解码顺序:1、html实体编码2、urlcode编码3,unicode编码问题二:可以弹窗首先先HTML实体编码解码,得到href中为URL,URL模块可识别为javascript协议
浏览器解码过程分析
浏览器解码过程分析前言在学习xss漏洞的过程中我发现一个问题,当我想绕过过滤机制时,可以采用编码的方式进行绕过这种方法,但是并不是每一种编码格式都能绕过,需要不停的尝试才行,这样过于浪费时间。后来我发现浏览器与服务器数据传输过程中有好几种编码格式,不同的编码格式有着不同的解析引擎,作为一个浏览器,在解析一篇HTML文档时主要有三个处理过程:HTML解析,URL解析和JavaScript解析。每个解
Xss漏洞总结
一、XSS漏洞简介XSS(Cross-SiteScripting,跨站脚本攻击)是一种常见的Web前端安全漏洞,其主要危害对象是网站的访问用户。攻击者通过在网页中注入恶意脚本代码(如JavaScript、Flash等),诱使用户访问后在其浏览器中执行这些代码,从而达到窃取数据、控制会话等攻击目的。二、XSS漏洞原理XSS的根本原因在于服务器未对用户提交的输入内容进行严格过滤和转义处理,导致用户提供
从XSS Payload学习浏览器解码
caker丶
XSS-labs XSS xss 学习 javascript
从XSSPayload学习浏览器解码HTML解析URL解析JavaScript解析案例解析总结作为一个浏览器在解析一篇HTML文档时主要有三个处理过程,每个解析器负责解码和解析HTML文档中它所对应的部分,下面我将按照解码顺序依次讲解。HTMl解析URL解析JavaScript解析HTML解析一个HTML解析器作为一个状态机,它从输入流中获取字符并按照转换规则转换到另一种状态。在解析过程中,任何时
完善Meteor应用的NPM集成——meteorhacks/npm项目推荐
尤峻淳Whitney
完善Meteor应用的NPM集成——meteorhacks/npm项目推荐1.项目基础介绍及编程语言meteorhacks/npm是一个开源项目,旨在为Meteor应用提供完整的NPM模块集成。该项目通过允许在Meteor应用内部使用NPM模块,极大地扩展了Meteor应用的功能性和灵活性。该项目的主要编程语言是JavaScript。2.项目核心功能项目的核心功能是提供一个桥接器,让开发者可以在M
【Java代码审计 | 第五篇】XSS漏洞成因+实战案例
秋说
Java代码审计 java xss
未经许可,不得转载。文章目录XSS漏洞成因1、直接输出用户输入2、在JSP中使用EL表达式输出用户输入3、在Thymeleaf模板中输出用户输入4、在JavaScript中嵌入用户输入实战案例案例1案例2案例3XSSXSS(跨站脚本攻击,Cross-SiteScripting)是一种常见的Web安全漏洞,攻击者通过在网页中注入恶意脚本,使得这些脚本在用户的浏览器中执行。XSS攻击通常分为以下三种类
2025版最新黑客网站整理大全,全新整理黑客网站大全!收藏这一篇就够了_暗域网入口网址
爱吃小石榴16
网络 安全 前端 php 数据库
今天给大家分享一些学习网络安全的好去处。对于网络安全的学习,多逛论坛、阅读他人的技术分析帖是非常重要的。但有时候,初学者可能会感到迷茫,不知道去哪里寻找这些技术分析帖,也不知道有哪些相关的论坛或网站。所以,今天我就来给大家分享一些比较常见的国内安全论坛。1、黑客基地:http://www.hackbase.com/黑基网(WWW.HACKBASE.NET)成立于2003年,由IT精英和白帽黑客共同
Web安全之CSP
weixin_30649641
web安全 开发工具 网络
内容安全策略(Content-Security-Policy,简称CSP)概念:内容安全策略(CSP)是一种web应用技术用于帮助缓解大部分类型的内容注入攻击,包括XSS攻击和数据注入等,这些攻击可实现数据窃取、网站破坏和作为恶意软件分发版本等行为。该策略可让网站管理员指定客户端允许加载的各类可信任资源。浏览器支持:统计来源:caniuse.com/contentsecuritypolicy&Mo
渗透测试视角:Web 应用常见漏洞的利用与防御策略
Web应用已成为企业业务的核心载体,但SQL注入、XSS、文件上传漏洞等安全问题频发。从渗透测试视角分析漏洞的利用原理,才能制定更有效的防御策略。本文将结合实战案例,解析Web应用常见漏洞的利用方式与防御方法。一、SQL注入漏洞:数据库的“隐形后门”SQL注入是最常见的Web漏洞之一,攻击者通过在参数中插入SQL语句,操控数据库获取数据或执行命令。漏洞原理与利用场景当Web应用未对用户输入进行过滤
渗透攻击红队百科全书
绝不原创的飞龙
渗透
据说原始扫描件有病毒,我就解析Xref提取图片然后重新生成了一份。我也拿不到纸质书,根据网上流传的版本加工了一下,不清楚是肯定的。其他的不说了,懂的都懂。目录第一章信息搜集1.1主机发现1.2关联信息生成1.3开放漏洞情报1.4开源情报信息搜集(OSINT)1.5GithubHacking1.6GoogleHacking1.7Gitlcret1.8Mailsniper.psl获取Outlook所有
一次XSS漏洞引发的用户信息泄露 —— 在线教育平台真实案例剖析与防御实践
一、引子:一个“学习感言”输入框引发的安全事故在一次大型在线教育平台的开发中,笔者曾亲身经历过一起严重的安全事故。事故的起点很微不足道:一个允许用户提交“学习感言”的输入框。然而,由于缺乏安全意识和输入输出处理的规范,这个字段成为攻击者入侵的跳板,最终导致大量用户信息泄露、信任危机和平台业务受损。这个案例虽然已过去多年,但其中反映的安全盲点依然广泛存在于当前的互联网项目中,特别是在中小团队、快速上
v-text 和 v-html 都是用于数据绑定的指令,但它们在处理内容和安全性上有显著区别。
在Vue.js中,v-text和v-html都是用于数据绑定的指令,但它们在处理内容和安全性上有显著区别。以下是详细说明和注意事项:1.v-text指令作用:将数据以纯文本形式插入到元素中(相当于设置元素的textContent属性)。语法:等价于:{{message}}特点:自动转义HTML标签(例如会变成文本<script>)防止XSS攻击(跨站脚本攻击)覆盖元素内原有的所有内容示
遍历dom 并且存储(将每一层的DOM元素存在数组中)
换个号韩国红果果
JavaScript html
数组从0开始!!
var a=[],i=0;
for(var j=0;j<30;j++){
a[j]=[];//数组里套数组,且第i层存储在第a[i]中
}
function walkDOM(n){
do{
if(n.nodeType!==3)//筛选去除#text类型
a[i].push(n);
//con
Android+Jquery Mobile学习系列(9)-总结和代码分享
白糖_
JQuery Mobile
目录导航
经过一个多月的边学习边练手,学会了Android基于Web开发的毛皮,其实开发过程中用Android原生API不是很多,更多的是HTML/Javascript/Css。
个人觉得基于WebView的Jquery Mobile开发有以下优点:
1、对于刚从Java Web转型过来的同学非常适合,只要懂得HTML开发就可以上手做事。
2、jquerym
impala参考资料
dayutianfei
impala
记录一些有用的Impala资料
1. 入门资料
>>官网翻译:
http://my.oschina.net/weiqingbin/blog?catalog=423691
2. 实用进阶
>>代码&架构分析:
Impala/Hive现状分析与前景展望:http
JAVA 静态变量与非静态变量初始化顺序之新解
周凡杨
java 静态 非静态 顺序
今天和同事争论一问题,关于静态变量与非静态变量的初始化顺序,谁先谁后,最终想整理出来!测试代码:
import java.util.Map;
public class T {
public static T t = new T();
private Map map = new HashMap();
public T(){
System.out.println(&quo
跳出iframe返回外层页面
g21121
iframe
在web开发过程中难免要用到iframe,但当连接超时或跳转到公共页面时就会出现超时页面显示在iframe中,这时我们就需要跳出这个iframe到达一个公共页面去。
首先跳转到一个中间页,这个页面用于判断是否在iframe中,在页面加载的过程中调用如下代码:
<script type="text/javascript">
//<!--
function
JAVA多线程监听JMS、MQ队列
510888780
java多线程
背景:消息队列中有非常多的消息需要处理,并且监听器onMessage()方法中的业务逻辑也相对比较复杂,为了加快队列消息的读取、处理速度。可以通过加快读取速度和加快处理速度来考虑。因此从这两个方面都使用多线程来处理。对于消息处理的业务处理逻辑用线程池来做。对于加快消息监听读取速度可以使用1.使用多个监听器监听一个队列;2.使用一个监听器开启多线程监听。
对于上面提到的方法2使用一个监听器开启多线
第一个SpringMvc例子
布衣凌宇
spring mvc
第一步:导入需要的包;
第二步:配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi=
我的spring学习笔记15-容器扩展点之PropertyOverrideConfigurer
aijuans
Spring3
PropertyOverrideConfigurer类似于PropertyPlaceholderConfigurer,但是与后者相比,前者对于bean属性可以有缺省值或者根本没有值。也就是说如果properties文件中没有某个bean属性的内容,那么将使用上下文(配置的xml文件)中相应定义的值。如果properties文件中有bean属性的内容,那么就用properties文件中的值来代替上下
通过XSD验证XML
antlove
xml schema xsd validation SchemaFactory
1. XmlValidation.java
package xml.validation;
import java.io.InputStream;
import javax.xml.XMLConstants;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schem
文本流与字符集
百合不是茶
PrintWrite()的使用 字符集名字 别名获取
文本数据的输入输出;
输入;数据流,缓冲流
输出;介绍向文本打印格式化的输出PrintWrite();
package 文本流;
import java.io.FileNotFound
ibatis模糊查询sqlmap-mapping-**.xml配置
bijian1013
ibatis
正常我们写ibatis的sqlmap-mapping-*.xml文件时,传入的参数都用##标识,如下所示:
<resultMap id="personInfo" class="com.bijian.study.dto.PersonDTO">
<res
java jvm常用命令工具——jdb命令(The Java Debugger)
bijian1013
java jvm jdb
用来对core文件和正在运行的Java进程进行实时地调试,里面包含了丰富的命令帮助您进行调试,它的功能和Sun studio里面所带的dbx非常相似,但 jdb是专门用来针对Java应用程序的。
现在应该说日常的开发中很少用到JDB了,因为现在的IDE已经帮我们封装好了,如使用ECLI
【Spring框架二】Spring常用注解之Component、Repository、Service和Controller注解
bit1129
controller
在Spring常用注解第一步部分【Spring框架一】Spring常用注解之Autowired和Resource注解(http://bit1129.iteye.com/blog/2114084)中介绍了Autowired和Resource两个注解的功能,它们用于将依赖根据名称或者类型进行自动的注入,这简化了在XML中,依赖注入部分的XML的编写,但是UserDao和UserService两个bea
cxf wsdl2java生成代码super出错,构造函数不匹配
bitray
super
由于过去对于soap协议的cxf接触的不是很多,所以遇到了也是迷糊了一会.后来经过查找资料才得以解决. 初始原因一般是由于jaxws2.2规范和jdk6及以上不兼容导致的.所以要强制降为jaxws2.1进行编译生成.我们需要少量的修改:
我们原来的代码
wsdl2java com.test.xxx -client http://.....
修改后的代
动态页面正文部分中文乱码排障一例
ronin47
公司网站一部分动态页面,早先使用apache+resin的架构运行,考虑到高并发访问下的响应性能问题,在前不久逐步开始用nginx替换掉了apache。 不过随后发现了一个问题,随意进入某一有分页的网页,第一页是正常的(因为静态化过了);点“下一页”,出来的页面两边正常,中间部分的标题、关键字等也正常,唯独每个标题下的正文无法正常显示。 因为有做过系统调整,所以第一反应就是新上
java-54- 调整数组顺序使奇数位于偶数前面
bylijinnan
java
import java.util.Arrays;
import java.util.Random;
import ljn.help.Helper;
public class OddBeforeEven {
/**
* Q 54 调整数组顺序使奇数位于偶数前面
* 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半
从100PV到1亿级PV网站架构演变
cfyme
网站架构
一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。 1:积累是必不可少的
架构师不是一天练成的。
1999年,我作了一个个人主页,在学校内的虚拟空间,参加了一次主页大赛,几个DREAMWEAVER的页面,几个TABLE作布局,一个DB连接,几行PHP的代码嵌入在HTM
[宇宙时代]宇宙时代的GIS是什么?
comsci
Gis
我们都知道一个事实,在行星内部的时候,因为地理信息的坐标都是相对固定的,所以我们获取一组GIS数据之后,就可以存储到硬盘中,长久使用。。。但是,请注意,这种经验在宇宙时代是不能够被继续使用的
宇宙是一个高维时空
详解create database命令
czmmiao
database
完整命令
CREATE DATABASE mynewdb USER SYS IDENTIFIED BY sys_password USER SYSTEM IDENTIFIED BY system_password LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/m
几句不中听却不得不认可的话
datageek
1、人丑就该多读书。
2、你不快乐是因为:你可以像猪一样懒,却无法像只猪一样懒得心安理得。
3、如果你太在意别人的看法,那么你的生活将变成一件裤衩,别人放什么屁,你都得接着。
4、你的问题主要在于:读书不多而买书太多,读书太少又特爱思考,还他妈话痨。
5、与禽兽搏斗的三种结局:(1)、赢了,比禽兽还禽兽。(2)、输了,禽兽不如。(3)、平了,跟禽兽没两样。结论:选择正确的对手很重要。
6
1 14:00 PHP中的“syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”错误
dcj3sjt126com
PHP
原文地址:http://www.kafka0102.com/2010/08/281.html
因为需要,今天晚些在本机使用PHP做些测试,PHP脚本依赖了一堆我也不清楚做什么用的库。结果一跑起来,就报出类似下面的错误:“Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/kafka/test/
xcode6 Auto layout and size classes
dcj3sjt126com
ios
官方GUI
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Introduction/Introduction.html
iOS中使用自动布局(一)
http://www.cocoachina.com/ind
通过PreparedStatement批量执行sql语句【sql语句相同,值不同】
梦见x光
sql 事务 批量执行
比如说:我有一个List需要添加到数据库中,那么我该如何通过PreparedStatement来操作呢?
public void addCustomerByCommit(Connection conn , List<Customer> customerList)
{
String sql = "inseret into customer(id
程序员必知必会----linux常用命令之十【系统相关】
hanqunfeng
Linux常用命令
一.linux快捷键
Ctrl+C : 终止当前命令
Ctrl+S : 暂停屏幕输出
Ctrl+Q : 恢复屏幕输出
Ctrl+U : 删除当前行光标前的所有字符
Ctrl+Z : 挂起当前正在执行的进程
Ctrl+L : 清除终端屏幕,相当于clear
二.终端命令
clear : 清除终端屏幕
reset : 重置视窗,当屏幕编码混乱时使用
time com
NGINX
IXHONG
nginx
pcre 编译安装 nginx
conf/vhost/test.conf
upstream admin {
server 127.0.0.1:8080;
}
server {
listen 80;
&
设计模式--工厂模式
kerryg
设计模式
工厂方式模式分为三种:
1、普通工厂模式:建立一个工厂类,对实现了同一个接口的一些类进行实例的创建。
2、多个工厂方法的模式:就是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能正确创建对象,而多个工厂方法模式就是提供多个工厂方法,分别创建对象。
3、静态工厂方法模式:就是将上面的多个工厂方法模式里的方法置为静态,
Spring InitializingBean/init-method和DisposableBean/destroy-method
mx_xiehd
java spring bean xml
1.initializingBean/init-method
实现org.springframework.beans.factory.InitializingBean接口允许一个bean在它的所有必须属性被BeanFactory设置后,来执行初始化的工作,InitialzingBean仅仅指定了一个方法。
通常InitializingBean接口的使用是能够被避免的,(不鼓励使用,因为没有必要
解决Centos下vim粘贴内容格式混乱问题
qindongliang1922
centos vim
有时候,我们在向vim打开的一个xml,或者任意文件中,拷贝粘贴的代码时,格式莫名其毛的就混乱了,然后自己一个个再重新,把格式排列好,非常耗时,而且很不爽,那么有没有办法避免呢? 答案是肯定的,设置下缩进格式就可以了,非常简单: 在用户的根目录下 直接vi ~/.vimrc文件 然后将set pastetoggle=<F9> 写入这个文件中,保存退出,重新登录,
netty大并发请求问题
tianzhihehe
netty
多线程并发使用同一个channel
java.nio.BufferOverflowException: null
at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:183) ~[na:1.7.0_60-ea]
at java.nio.ByteBuffer.put(ByteBuffer.java:832) ~[na:1.7.0_60-ea]
Hadoop NameNode单点问题解决方案之一 AvatarNode
wyz2009107220
NameNode
我们遇到的情况
Hadoop NameNode存在单点问题。这个问题会影响分布式平台24*7运行。先说说我们的情况吧。
我们的团队负责管理一个1200节点的集群(总大小12PB),目前是运行版本为Hadoop 0.20,transaction logs写入一个共享的NFS filer(注:NetApp NFS Filer)。
经常遇到需要中断服务的问题是给hadoop打补丁。 DataNod