ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲高清视频一区二区,激情一区二区,中文字幕日韩综合avhttp://blogjava.net/fanjs2000/category/50500.htmlzh-cnSun, 10 Jul 2016 07:15:53 GMTSun, 10 Jul 2016 07:15:53 GMT60AntiSamy防止xssæ”Õd‡»http://www.aygfsteel.com/fanjs2000/archive/2016/07/08/431129.html猪眼ç?/dc:creator>猪眼ç?/author>Fri, 08 Jul 2016 03:44:00 GMThttp://www.aygfsteel.com/fanjs2000/archive/2016/07/08/431129.html

可以使用AntiSamy防范XSS跨站脚本æ”Õd‡»



常用XSSæ–¹å¼åˆ†äØ“(f¨´)以下几种åQ?/h1>

1.      è¾“入框中直接输入恶意脚本åQŒå¦‚åQ?/p>

><script>alert(document.cookie)</script>

2.      è¾“入框中输入html标签åQŒåœ¨æ ‡ç­¾ä¸­åµŒå…¥æ¶æ„è„šæœ¬ï¼Œå¦‚srcåQŒhrefåQŒcss style½{‰ã€?/p>

<IMG SRC="javascriptåQšalert('XSS');">; <BODY BACKGROUND="javascriptåQšalert('XSS')"> <STYLE>li {list-style-image:url("javascriptåQšalert('XSS')");}</STYLE><UL><LI>XSS</br>

3.      ž®†æ¶æ„è„šæœ¬æ³¨å…¥åœ¨event事äšg中,如onClickåQŒonBluråQŒonMouseOver½{‰äº‹ä»¶ã€?/p>

<a onmouseover="alert(document.cookie)">xxslink</a>

4.      åœ¨remote style sheetåQŒjavascript中,å¦?/p>

<LINK REL="stylesheet"HREF="javascriptåQšalert('XSS');">


]]>高用户下记录¾pȝ»Ÿhttp://www.aygfsteel.com/fanjs2000/archive/2013/11/23/406708.html猪眼ç?/dc:creator>猪眼ç?/author>Sat, 23 Nov 2013 03:16:00 GMThttp://www.aygfsteel.com/fanjs2000/archive/2013/11/23/406708.html
‹¹‹è¯•¾l“æžœåQ?1亿条数据用时93¿U’,生äñ”58ä¸?00mæ–‡äšg。每一æ?53¾U³ç§’ã€?br />
package io.netty.example.http.snoop;

import java.io.FileOutputStream;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class WriterFile {


        // 指定大小ä¸?1024 的缓冲区
        public static ByteBuffer bytebufferone = ByteBuffer.allocate(102400000);
        public static ByteBuffer bytebuffertwo = ByteBuffer.allocate(102400000);
        public static boolean checkbuffer =true;
        
        public static void main(String[] args) {
             long start = System.nanoTime();  
              
                
            for(int i=0;i<100000000;i++){
                
                if(checkbuffer)
                    processone("123abc"+i+"\r\n");
                else
                    prcesstwo("123abc"+i+"\r\n");    
            }
            long end = System.nanoTime();  
            System.out.println((end - start)+"耗时");  
        }
        /**
         * bytebuffertwo写日å¿?br />         */
        public static void prcesstwo(String log)
        {
            //写bytebuff
             boolean onecheck=checkposition(log,bytebuffertwo);
            if(onecheck)
                writerbuffer(log,bytebuffertwo);
            //写文ä»?br />            else{
                checkbuffer=true;
                writerbuffer(log,bytebufferone);
                writerfile(bytebuffertwo);
            }
        }
        
        /**
         * bytebufferone写日å¿?br />         * @param log
         */
        public static  void  processone(String log)
        {
                //写bytebuff
                 boolean onecheck=checkposition(log,bytebufferone);
                if(onecheck){
                    
                    writerbuffer(log,bytebufferone);
                }
                //写文ä»?br />                else{
                    checkbuffer=false;
                    writerbuffer(log,bytebuffertwo);
                    writerfile(bytebufferone);
                }
            }
        
        /**
         * 判断¾~“存是否可以写下日志
         * @param log
         * @return
         */
        public static  boolean checkposition(String log,ByteBuffer bytebuffer)
        {

            if(2*log.getBytes().length>bytebuffer.limit()-bytebuffer.position())
            {
                return false;
            }
            else
            {
                return true;
            }
        }
        /**
         * 写日志到¾~“å­˜åQŒåƈ且返回缓存指针位¾|?br />         * @param log
         * @return
         */
        public static   int  writerbuffer(String log,ByteBuffer bytebuffer )
        {
            for (int i = 0; i < log.length(); i++) {
                bytebuffer.putChar(log.charAt(i));
            }
            return bytebuffer.position();
        }
        /**
         * 写文ä»?br />         * @param filename
         */
        public static  void  writerfile(ByteBuffer bytebuffer)
        {
            try{
                FileOutputStream fos = new FileOutputStream(Datefile());
                FileChannel fc = fos.getChannel();
                bytebuffer.flip();
                fc.write(bytebufferone);
                fc.close();
                fos.close();
                bytebuffer.clear();
            }
            catch(Exception ex)
            {
                ex.printStackTrace();
            }
        }
        /**
         * æ–‡äšg名按日期生äñ”
         * @param str
         * @return
         */
        public static String Datefile() {
               SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd_HHmmss");
               String str = format.format(new Date());
               return "d:/test/"+str+".txt";
        }
}


附带一个普通的nioè¯Õd†™
        public static  void test()
        {
            try{
            FileOutputStream fos = new FileOutputStream("d:/nio.txt");
            // 得到文äšg通道
            FileChannel fc = fos.getChannel();
            // 指定大小ä¸?1024 的缓冲区
            ByteBuffer bf = ByteBuffer.allocate(1024);
            // 要写入文件的字符ä¸?br />            String greeting = "Hello111";
            // 把以上字½W¦ä¸²é€å­—攑օ¥¾~“冲åŒ?br />            for (int i = 0; i < greeting.length(); i++) {
                bf.putChar(greeting.charAt(i));
            }
            // 记得执行˜q™ä¸ªæ–ÒŽ(gu¨©)³•åQŒä‹Éå¾?position=0, limit=30, 才能写入正确的数æ?br />            // 否则 position ä¸?30, limit ä¸?1024åQŒå°†ä¼?x¨¬)æŠ?30 之后的全部空数据(0) 填到文äšgä¸?br />            
            System.out.println(greeting.getBytes().length);
            System.out.println(bf.position());
            System.out.println(bf.limit());
            
            bf.flip();
            // ¾~“冲区数据写入到文äšg中,ä¼?x¨¬)把¾~“冲åŒÞZ¸­ä»?position åˆ?limit 之间的数据写入文ä»?br />            fc.write(bf);
            fc.close(); // 关闭文äšg通道
            fos.close(); // 关闭文äšg输出‹¹?br />            }catch(Exception e){
             e.printStackTrace();
            
            }
        }


]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º Àײ¨ÏØ| ÂÞµéÏØ| Èý¶¼| ·½³ÇÏØ| ̨ÖÐÏØ| ¶«Ý¸ÊÐ| Óª¿ÚÊÐ| Ñúå¨| ÆîÑôÏØ| ´óÀíÊÐ| ÎäÇ¿ÏØ| ²¼ÍÏÏØ| ·ïÌ¨ÏØ| Â³É½ÏØ| µÃÈÙÏØ| ³£µÂÊÐ| ÈðÀöÊÐ| ʦ×ÚÏØ| ´óÒ¦ÏØ| ÐÂÌïÏØ| ÔæÑôÊÐ| Äþ²¨ÊÐ| °×³ÇÊÐ| Ì©°²ÊÐ| ¹ÉƱ| ¸Ê¹ÈÏØ| Åî°²ÏØ| ¶«Æ½ÏØ| °¢Í¼Ê²ÊÐ| ¡×ÓÏØ| ¼¦Î÷ÊÐ| ½­Ô´ÏØ| ÎäÐûÏØ| ÀëµºÇø| º×¸ÚÊÐ| ´ó×ãÏØ| ×ÊÑôÊÐ| Ð˺£ÏØ| ĵµ¤½­ÊÐ| Íþº£ÊÐ| ·½³ÇÏØ|