本文同步自我的博客园: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)
实战领域:脱壳操作手册
xixixi77777
脱壳 动态脱壳 红队 安全
一、环境准备(必须项)硬件隔离用一台物理机(非虚拟机)安装Windows10/11,关闭所有安全防护(Defender、防火墙)。硬件要求:至少16GB内存+SSD(防止内存转储卡顿)。工具包下载调试器:x64dbg(自带插件Scylla)内存分析:ProcessHacker2(监控内存分配)自动化脱壳:Unipacker(支持常见压缩壳)反反调试:TitanHide(内核级隐藏调试器)虚拟化执行
draw.io插入 Mermaid格式
画图
现在很多ai工具生成的流程图都如下sequenceDiagramparticipantSSPparticipantADXSSP->>ADX:广告播放完成ADX->>ADX:更新flow_distribute.status=1ADX->>SLS:记录adPlayed事件NoterightofADX:定时任务同步状态与日志如果想自己编辑这种格式,draw.io就支持,操作如下,我的是网页版参考链接:h
网络安全最新HVV(护网)蓝队视角的技战法分析_护网技战法报告(1),2024年最新网络安全开发基础作用
2401_84520093
程序员 网络安全 学习 面试
如何自学黑客&网络安全黑客零基础入门学习路线&规划初级黑客1、网络安全理论知识(2天)①了解行业相关背景,前景,确定发展方向。②学习网络安全相关法律法规。③网络安全运营的概念。④等保简介、等保规定、流程和规范。(非常重要)2、渗透测试基础(一周)①渗透测试的流程、分类、标准②信息收集技术:主动/被动信息搜集、Nmap工具、GoogleHacking③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF
使用Unity引擎开发的Windows 11系统3D打地鼠游戏的方案
1079986725
手机游戏 开发者 Windows 游戏 java 玩游戏
创建Unity项目:使用UnityHub新建3D项目设置目标平台为Windows场景搭建:csharp//地鼠控制器WhackAMole.csusingUnityEngine;usingSystem.Collections;publicclassWhackAMole:MonoBehaviour{publicfloatpopupDuration=1.5f;publicfloatminHideTime
黑客最容易攻击的地方
冬冬小圆帽
json
黑客最容易攻击的地方通常集中在应用程序的漏洞、配置错误或用户输入处理不当等方面。1.跨站脚本攻击(XSS)XSS攻击是黑客通过注入恶意脚本到网页中,使其在用户浏览器中执行。常见的XSS攻击点包括:反射型XSS:攻击者将恶意脚本作为参数注入到URL中,服务器未对输入进行过滤,直接将恶意脚本返回给用户。存储型XSS:恶意脚本被存储在服务器上(如数据库),当其他用户访问该页面时,脚本被执行。示例代码:/
excel模板生成sql server建表语句
苏晓顺
java
因为需要进行大量的表创建所以才有此方法,需要的请copypackagecom.spf.sp.util;importcom.spf.eap.util.common.Toolkit;importorg.apache.poi.xssf.usermodel.XSSFRow;importorg.apache.poi.xssf.usermodel.XSSFSheet;importorg.apache.poi.
7.探索XSS跨站脚本攻击
早安TnT
网络安全学习计划(每日计划) xss 前端 网络安全 学习
探索XSS跨站脚本攻击第一部分:XSS基础(理论)第二部分:XSS的手工测试(理论)第三部分:DVWA靶场实践XSS(实践)总结目标:•理解XSS的基本原理与类型•掌握XSS的手工测试方法•通过DVWA靶场实践XSS攻击详细内容与教学第一部分:XSS基础(理论)学习内容:•什么是XSS?•XSS的类型•XSS的危害详细讲解:1什么是XSS?XSS(Cross-SiteScripting,跨站脚本攻
PHP安全最佳实践:防御XSS与CSRF攻击
挚***沾
php经验 php 安全 xss
PHP安全最佳实践:防御XSS与CSRF攻击在Web开发中,安全性是一个至关重要的方面。PHP作为一种广泛使用的服务器端脚本语言,常常成为攻击者的目标。本文将重点讨论如何通过最佳实践来防御两种常见的Web攻击:跨站脚本攻击(XSS)和跨站请求伪造(CSRF)。1.跨站脚本攻击(XSS)防御1.1什么是XSS攻击?跨站脚本攻击(XSS)是一种注入攻击,攻击者通过在网页中插入恶意脚本,使得这些脚本在用
态势感知产品通用的一些安全场景设计
sinfoyou
安全 开发语言
互联网网络攻击类类别序号名称互联网络攻击类1识别DDOS攻击2web高频攻击3外网主机发起特定端口扫描4webshell攻击5xss攻击检测6SQL注入检测7网站挂马1.1识别DDOS攻击场景描述DDoS攻击通过大量合法的请求占用大量网络、系统资源,以达到瘫痪网络、系统的目的。这种攻击方式可分为以下几种:通过使网络过载来干扰甚至阻断正常的网络通讯;通过向服务器提交大量请求,使服务器超负荷;阻断某
python hack库_这里有123个黑客必备的Python工具!
weixin_39637571
python hack库
123个Python渗透测试工具,当然不仅于渗透~如果你想参与漏洞研究、逆向工程和渗透,我建议你时候用Python语言。Python已经有很多完善可用的库,我将在这里把他们列出来。这个清单里的工具大部分都是Python写成的,一部分是现有C库的Python绑定,这些库在Python中都可以简单使用。一些强力工具(pentestframeworks、bluetoothsmashers、webappl
JVM 参数汇总
明成天下
JVM jvm
-Xmx3550m:设置JVM最大可用内存为3550M-Xms3550m:设置JVM初使内存为3550m-Xmn2g:设置年轻代大小为2G,年轻代包括Eden区,Survivor0区和Suvivor1区-Xss128k:设置每个线程的堆栈大小-XX:SurvivorRatio用于设置Eden和其中一个Survivor的比值-XX:MaxTenuringThreshold=0:设置垃圾最大年龄-XX
今天项目中出现了一个xss漏洞
hello_simon
php html hacker
代码是这样的:xxxx.com/en/index?siteId=">alert(document.cookie)smartyget没做过滤的,有点坑
前端 CDN 深度解析:从加速优化到工程化实践
斯~内克
前端 前端
一、前端CDN的核心价值与挑战1.1现代前端资源的分发困境资源体积爆炸:主流框架生产包平均大小突破2MB全球化访问需求:跨国访问延迟差异可达500ms以上版本管理复杂度:多环境部署导致的缓存污染问题安全防护压力:XSS、资源劫持等攻击频发1.2前端CDN的技术指标指标传统方案CDN优化后提升幅度首屏加载时间3.8s1.2s68%资源下载速度12MB/s85MB/s608%缓存命中率65%98%51
SpringBoot的两种启动方式原理
seven97_top
SpringBoot spring boot 后端 java
使用内置tomcat启动配置案例启动方式IDEA中main函数启动mvnspringboot-runjava-jarXXX.jar使用这种方式时,为保证服务在后台运行,会使用nohupnohupjava-jar-Xms128m-Xmx128m-Xss256k-XX:+PrintGCDetails-XX:+PrintHeapAtGC-Xloggc:/data/log/web-gc.logweb.ja
java使用SXSSFWorkbook生成具有图片与文字的Excel表格
「已注销」
apache java poi excel
在这里是一个Maven工程,在pom.xml中引入poi依赖org.apache.poipoi3.9org.apache.poipoi-ooxml3.9例子中的情景是从数据库查出了许多记录,记录的是地理信息。记录有几个字段记录的图片保存的绝对路径。根据这些字段的内容生成图片。例如picOneAddr。记录分为不同的类型,比如楼房,桥梁等。将每种类型生成一个sheet进行分开保存。具体导出表格的一个
[网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例
鱼馬
网络 网络安全 web安全 笔记 测试工具 职场和发展
最近开始学习网络安全相关知识,接触了好多新术语,感觉自己要学习的东西太多,真是学无止境,也发现了好几个默默无闻写着博客、做着开源的大神。准备好好学习下新知识,并分享些博客与博友们一起进步,加油。非常基础的文章,大神请飘过,谢谢各位看官!文章目录一.工具&术语1.网安术语2.常用工具3.推荐文章二.常见攻击1.SQL注入2.XSS跨站3.越权漏洞4.CSRF跨站请求伪造5.支付漏洞三.音乐异或解密示
Manus被「越狱」:创始人回应风波与开源转向
UR的出不克
人工智能 manus agent
Manus被「越狱」:创始人回应风波与开源转向早上刷推特,一条标签为"#Manus越狱"的话题炸了。这个前些日子刚刚融了A轮的AI新贵突然成了安全圈的焦点。熬了一整晚的咖啡还没喝完,Manus团队就陷入了灭火模式。「越狱」风波:始于一条推特事情的起因很"典型"——一位ID为"AIHacker_2023"的用户前天发了条推文:"Manus的安全屏障形同虚设,两个prompt就能搞定,详情看图。"配图
什么是XSS
藤原千花的败北
web漏洞 xss 前端 web安全 网络安全
文章目录前言1.前端知识2.什么是XSS3.漏洞挖掘4.参考前言之前对XSS的理解就是停留在弹窗,认为XSS这种漏洞真的是漏洞吗?安全学习了蛮久了,也应该对XSS有更进一步的认识了。1.前端知识现代浏览器是一个高度复杂的软件系统,由多个核心组件协同工作,旨在高效、安全地呈现网页内容并执行交互逻辑。对一般用户来讲,其主要功能就是向服务器发出请求,在窗口中展示用户所选择的网络资源。这里所说的资源一般是
从零开始学习黑客技术,看这一篇就够了
网络安全-旭师兄
学习 web安全 python 密码学 网络安全
基于入门网络安全/黑客打造的:黑客&网络安全入门&进阶学习资源包黑客,对于很多人来说,是一个神秘的代名词,加之影视作品夸张的艺术表现,使得黑客这个本来只专注于技术的群体,散发出亦正亦邪的神秘色彩。黑客源自英文hacker一词,最初曾指热心于计算机技术、水平高超的电脑高手,尤其是程序设计人员,逐渐区分为白帽、灰帽、黑帽等。其中,白帽黑客被称为道德黑客。他们不会非法入侵用户网络,而是通过一系列测试检查
七个合法学习黑客技术的平台,让你从萌新成为大佬
黑客白帽子黑爷
学习 php 开发语言 web安全 网络
1、HackThisSite提供在线IRC聊天和论坛,让用户交流更加方便。网站涵盖多种主题,包括密码破解、网络侦察、漏洞利用、社会工程学等。非常适用于个人提高网络安全技能2、HackaDay涵盖多个领域,包括黑客技术、科技、工程和DIY等内容,站内提供大量有趣的文章、视频、教程和新闻,帮助用户掌握黑客技术和DIY精神。3、OffensiveSecurity一个专门提供网络安全培训和认证的公司,课程
自助洗车小程序开发方案详解
ALLSectorSorft
小程序 服务器 数据库 微信小程序
自助洗车小程序开发设计详细扩写一、系统架构设计(一)技术栈选型1.前端:微信小程序(原生开发):直接基于微信官方提供的开发框架,能充分利用微信的原生能力,如小程序的启动速度快、与微信生态的无缝衔接等。开发过程中可使用微信开发者工具进行代码编写、调试和预览,通过WXML(类似HTML)、WXSS(类似CSS)和JavaScript构建用户界面和交互逻辑。例如利用微信原生的组件库,快速搭建出美观且符合
Excel百万数据导入内存溢出(OOM)解决方案,以及HSSFworkbook,XSSFworkbook,SXSSFworkbook失败分析
冰糖码奇朵
解决问题 JAVA java
一.问题背景Excel百万数据导入,每行50+列,出现内存溢出,尝试HSSFworkbook,XSSFworkbook,SXSSFworkbook均未解决。查阅资料,采取StreamingReader的方式,问题解决。二.HSSFworkbook,XSSFworkbook,SXSSFworkbook分析序号类版本限制描述1HSSFworkbookExcel2003及以前,扩展名为.xls65536
2025年渗透测试面试题总结-长某亭科技-安全服务工程师(一面)(题目+回答)
独行soc
2025年渗透测试面试指南 面试 职场和发展 安全 红蓝攻防 护网 2025 科技
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。目录长某亭科技-安全服务工程师(一面)1.SQL注入原理与代码层面成因原理代码层面成因漏洞触发场景2.XSS漏洞原理(代码层面)原理代码层面成因漏洞触发场景3.OWASPTop10漏洞(2023版)4.SQL注入防御方案5.SQL注入绕过防护6.护网行动工作内容7.学校攻
2025年渗透测试面试题总结-快某手-安全实习生(一面、二面)(题目+回答)
独行soc
2025年渗透测试面试指南 安全 科技 网络 面试 护网 2015年
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。目录快某手-安全实习生一面一、Linux操作:查看进程PID的5种方法二、Elasticsearch(ES)核心要点三、HTTPS建立过程(TLS1.3优化版)四、Python内存管理机制五、深拷贝与浅拷贝对比六、Python多线程局限性七、XSS防御方案八、SQL注入防
最新网络安全-跨站脚本攻击(XSS)的原理、攻击及防御_xsstrike原理
2401_84239830
程序员 web安全 xss 安全
XSS的类型反射型XSS/不持久型XSS存储型XSS/持久型XSS基于DOM的XSS常用Payload与工具XSS扫描工具Payloadsscript标签类结合js的html标签伪协议绕过危害防御简介跨站脚本攻击(全称CrossSiteScripting,为和CSS(层叠样式表)区分,简称为XSS)是指恶意攻击者在Web页面中插入恶意javascript代码(也可能包含html代码),当用户浏览网
【技术干货】三大常见网络攻击类型详解:DDoS/XSS/中间人攻击,原理、危害及防御方案
挣扎与觉醒中的技术人
网络安全入门及实战 ddos xss 前端 网络
1.DDoS攻击1.1什么是DDoS攻击?DDoS(DistributedDenialofService,分布式拒绝服务攻击)通过操控大量“僵尸设备”(Botnet)向目标服务器发送海量请求,耗尽服务器资源(带宽、CPU、内存),导致正常用户无法访问服务。1.2攻击原理与分类流量型攻击:如UDP洪水、ICMP洪水,通过发送大量无效数据包占用带宽。协议型攻击:如SYN洪水攻击,利用TCP三次握手漏洞
Linux SSHD 启动失败:OpenSSL 版本不匹配问题分析与解决
XMYX-0
linux 运维 服务器
文章目录LinuxSSHD启动失败:OpenSSL版本不匹配问题分析与解决问题分析解决方案方法1:重启SSH服务方法2:检查sshd依赖的OpenSSL版本方法3:检查OpenSSL共享库方法4:重新安装OpenSSH总结LinuxSSHD启动失败:OpenSSL版本不匹配问题分析与解决在Linux服务器上,sshd可能因OpenSSL版本不匹配而启动失败,具体错误信息如下:Mar1100:09:
Anchor开发指南
web3
参考文档:Hackquest:https://www.hackquest.io/zhSolana中文:https://www.solana-cn.com/SolanaDocumention/core/cpl.htmlAnchor官网:https://www.anchor-lang.com/docs/cross-program-invocations更多更及时的文章请访问作者博客原文链接:https
请谈谈 HTTP 中的安全策略,如何防范常见的Web攻击(如XSS、CSRF)?
程序员黄同学
node.js 前端开发 JavaScript 前端 http xss
一、Web安全核心防御机制(一)XSS攻击防御(跨站脚本攻击)1.原理与分类存储型XSS:恶意脚本被持久化存储在服务端(如数据库)反射型XSS:脚本通过URL参数或表单提交触发执行DOM型XSS:通过修改DOM节点动态插入脚本2.防御方案//Express中间件:全局XSS防护constxss=require('xss');app.use((req,res,next)=>{//对所有请求参数进行过
xxssss
墨菲斯托888
xss 前端 javascript
XSS。这是一种将任意Javascript代码插入到其他Web用户页面中执行以达到攻击目的的漏洞。攻击者利用浏览器的动态展示数据功能,在HTML页面里嵌入恶意代码。当用户浏览该页时,这些潜入在HTML中的恶意代码会被执行,用户浏览器被攻击者控制,从而达到攻击者的特殊目的,为了执行javascirpt代码,XSS攻击的脚本通常被嵌入到网页的HTML、JavaScript代码中,或者通过URL参数传递
遍历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