亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? urlfilter.java

?? java servlet著名論壇源代碼
?? JAVA
字號:
/*
 * $Header: /cvsroot/mvnforum/myvietnam/src/net/myvietnam/mvncore/filter/URLFilter.java,v 1.9 2004/03/08 11:46:48 minhnn Exp $
 * $Author: minhnn $
 * $Revision: 1.9 $
 * $Date: 2004/03/08 11:46:48 $
 *
 * ====================================================================
 *
 * Copyright (C) 2002-2004 by MyVietnam.net
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or any later version.
 *
 * All copyright notices regarding MyVietnam and MyVietnam CoreLib
 * MUST remain intact in the scripts and source code.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 * Correspondence and Marketing Questions can be sent to:
 * info@MyVietnam.net
 *
 * @author: Anatol Pomozov (aka wassup) anatol.pomozov@pms-software.com
 */
package net.myvietnam.mvncore.filter;

import net.myvietnam.mvncore.security.Encoder;

public final class URLFilter {

    static final boolean OPEN_NEW_WINDOW = true;

    private URLFilter() { //prevent instantiation
    }

    /**
     * NOTE: For security, we should call DisableHtmlTagFilter before call this method
     * @param input the string to filter
     * @return the string after being filtered
     */
    public static String filter(String input) {
        if (input == null || input.length() == 0)
            return input;
        StringBuffer buf = new StringBuffer(input.length() + 25);
        char chars[] = input.toCharArray();
        int len = input.length();
        int index = -1;
        int i = 0;
        int j = 0;
        int oldend = 0;
        while (++index < len) {
            char cur = chars[i = index];
            j = -1;
            if ((cur == 'f' && index < len - 6 && chars[++i] == 't' && chars[++i] == 'p' ||
                 cur == 'h' && (i = index) < len - 7 && chars[++i] == 't' && chars[++i] == 't' && chars[++i] == 'p' && (chars[++i] == 's' || chars[--i] == 'p'))
                 && i < len - 4 && chars[++i] == ':' && chars[++i] == '/' && chars[++i] == '/')
                j = ++i;
            if (j > 0) {// check to process http:// or https:// or ftp://
                if (index == 0 || (cur = chars[index - 1]) != '\'' && cur != '"' && cur != '<' && cur != '=') {
                    cur = chars[j];
                    while (j < len) {
                        if (cur == ' ' || cur == '\t' || cur == '\'' ||
                            cur == '"' || cur == '<' || cur == '[' ||
                            cur == '\n' ||
                            cur == '\r' && j < len - 1 && chars[j + 1] == '\n')
                            break;
                        if (++j < len)
                            cur = chars[j];
                    }
                    cur = chars[j - 1];
                    if (cur == '.' || cur == ',' || cur == ')' || cur == ']')
                        j--;
                    buf.append(chars, oldend, index - oldend);
                    buf.append("<a href=\"");
                    String href = input.substring(index, j).trim();
                    //buf.append(chars, index, j - index);
                    buf.append(Encoder.filterUrl(href));
                    buf.append('"');
                    if (OPEN_NEW_WINDOW)
                        buf.append(" target=\"_blank\"");
                    buf.append('>');
                    //buf.append(chars, index, j - index);
                    buf.append(href);// should we filter it ???
                    buf.append("</a>");
                } else {
                    buf.append(chars, oldend, j - oldend);
                }
                oldend = index = j;
            } else
            if (cur == '[' && index < len - 6 && chars[i = index + 1] == 'u' && chars[++i] == 'r' && chars[++i] == 'l' &&
                (chars[++i] == '=' || chars[i] == ' ')) {
                // process [url]
                j = ++i;
                int u2;
                int u1 = u2 = input.indexOf("]", j);
                if (u1 > 0) {
                    u2 = input.indexOf("[/url]", u1 + 1);
                }
                if (u2 < 0) {
                    buf.append(chars, oldend, j - oldend);
                    oldend = j;
                } else {
                    buf.append(chars, oldend, index - oldend);
                    buf.append("<a href=\"");
                    String href = input.substring(j, u1).trim();
                    // Add http:// to the front of links if and only if it doesn't have any protocols.
                    // Doing this handles this: "[url=sun.com]SUN[/url]"
                    // Changing it to <a href="http://sun.com">SUN</a>
                    // instead of <a href="http://localhost:8080/mvnforum/sun.com">SUN</a>
                    if ( (href.indexOf("://") == -1) && (href.startsWith("mailto:") == false) ) {
                        href = "http://" + href;
                    }
                    if (href.indexOf("javascript:") == -1 && href.indexOf("file:") == -1) {
                        buf.append(Encoder.filterUrl(href));
                    }
                    if (OPEN_NEW_WINDOW)
                        buf.append("\" target=\"_blank");
                    buf.append("\">");
                    buf.append(input.substring(u1 + 1, u2).trim());
                    buf.append("</a>");
                    oldend = u2 + 6; // 6 == length of [/url]
                }
                index = oldend - 1;// set to the last char of the tag, that is ']'
            } else
            if (cur == '[' && index < len - 6 && chars[i = index + 1] == 'i' && chars[++i] == 'm' && chars[++i] == 'g' && chars[++i] == ']' ) {
                //process [img]
                j = ++i;
                int u1 = j-1;
                int u2 = input.indexOf("[/img]", u1 + 1);
                if (u2 < 0) {
                    buf.append(chars, oldend, j - oldend);
                    oldend = j;
                } else {
                    buf.append(chars, oldend, index - oldend);
                    buf.append("<img src=\"");
                    String href = input.substring(u1 + 1, u2).trim();
                    // Add http:// to the front of links if and only if it doesn't have any protocols.
                    // Doing this handles this: "[url=sun.com]SUN[/url]"
                    // Changing it to <a href="http://sun.com">SUN</a>
                    // instead of <a href="http://localhost:8080/mvnforum/sun.com">SUN</a>
                    if (href.indexOf("://") == -1) {
                        href = "http://" + href;
                    }
                    if (href.indexOf("javascript:") == -1 && href.indexOf("file:") == -1) {
                        buf.append(Encoder.filterUrl(href));
                    }
                    buf.append("\" border=\"0\">");
                    oldend = u2 + 6; // 6 == length of [/img]
                }
                index = oldend -1;// set to the last char of the tag, that is ']'
            }
        }
        if (oldend < len)
            buf.append(chars, oldend, len - oldend);
        return buf.toString();
    }
/*
    public static void main(String[] args) {
        //encodePath("localhost:8080/path/index.jsp");
        String[] input = {
            "[url=mailto:minhnn@myvietnam.net]Minh[/url][img]http://localhost:8080/mvnforum/mvnplugin/mvnforum/images/logo.gif[/img]",
            "-dfadg=[img] \" onmousemove=\"alert(1); [/img]",
            "(= http://a\"onmouseover='alert(1);')",
            "[url=http://sun.com]SUN[/url] http://sun.com",
            "[url sun.com]SUN[/url]", //What to do if no http???
            "[url=javascript:alert(1);]SUN[/url]",
            "[url=\" onmousemove=\"alert(1);]Hack[/url]",
            "[url=\" onmousemove='alert(1);']Hack[/url]"//somebody wants to hack us
        };

        //URLFilter enableMVNCodeFilter = new URLFilter();
        long start = System.currentTimeMillis();

        for (int i = 0; i < input.length; i++) {
            System.out.println("input = '" + input[i] + "' length = " + input[i].length());

            String output = null;
            for (int j = 0; j < 1; j++) {
                output = URLFilter.filter(input[i]);
            }

            System.out.println("output= '" + output + "'");
        }

        long time = System.currentTimeMillis() - start;
        System.out.println("total time = " + time);
    }
 */
    /*
    public static String enableImg(String input) {
        String output = input;
        try {
            RE exp = new RE("(.*)\\[img\\](.*)\\[\\/img\\](.*)");
            boolean matched = exp.match(input);
            if (matched) {
                String front = new String();
                String back = new String();
                String matchedPattern = new String();

                front = exp.getParen(1);
                matchedPattern = exp.getParen(2);
                matchedPattern = "<img src=\"" + matchedPattern + "\" border=0 >";
                back = exp.getParen(3);

                output = front + matchedPattern + back;

                //log.info("image path is: " + output);
            }
        } catch (RESyntaxException e) {
            //log.info(e.getMessage());
        }
        return output;
    }*/

    /*
    public static void main1(String[] args) {
        URLFilter enableMVNCodeFilter = new URLFilter();
        long start = System.currentTimeMillis();

        String input = "[img]http://loclahost/test[/img] [img]http://[/img]";
        System.out.println("input = '" + input + "' length = " + input.length());

        String output = null;
        for (int j = 0; j < 1; j++) {
            output = enableMVNCodeFilter.enableImg(input);
        }

        System.out.println("output= '" + output + "'");

        long time = System.currentTimeMillis() - start;
        System.out.println("total time = " + time);
    }
    */
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99国产欧美久久久精品| 欧美日韩高清一区二区三区| 欧美日韩午夜在线| 久久99精品久久久久久久久久久久| 人人狠狠综合久久亚洲| 一区二区在线看| 偷拍日韩校园综合在线| 欧美96一区二区免费视频| 久久香蕉国产线看观看99| 国产91精品在线观看| 亚洲午夜影视影院在线观看| 欧美日韩精品三区| 日韩一级片在线观看| 成人妖精视频yjsp地址| 亚洲综合区在线| 精品免费一区二区三区| 99久久精品国产观看| 蜜桃久久久久久久| 国产丝袜美腿一区二区三区| 精品中文字幕一区二区小辣椒| 久久精品欧美日韩精品| 欧洲一区二区三区免费视频| 另类小说综合欧美亚洲| 欧美日韩免费一区二区三区视频| 首页综合国产亚洲丝袜| 欧美日韩不卡在线| 在线成人高清不卡| 欧美一区二区三区公司| 欧美网站大全在线观看| 亚洲视频在线一区| 亚洲精品水蜜桃| 午夜免费久久看| 日韩高清欧美激情| 国产麻豆成人精品| 99久久国产综合精品女不卡| 91在线云播放| 欧美一区二区播放| 不卡的av电影| 欧美日韩在线免费视频| 日韩三级视频在线观看| 精品国产免费人成电影在线观看四季 | 午夜精品一区二区三区三上悠亚| 亚洲国产成人精品视频| 国产精品自产自拍| 久久久蜜桃精品| 国产精品久久久久9999吃药| 国产精品99久久久久久久vr | 亚洲女与黑人做爰| 日本韩国欧美国产| 国产精品素人视频| 久久国产精品72免费观看| 欧美曰成人黄网| 懂色av一区二区三区免费看| 欧美三级中文字幕| 亚洲综合视频在线| 成人av在线影院| 中国色在线观看另类| 奇米精品一区二区三区在线观看| 欧美自拍偷拍一区| 国产精品久久久久久久久免费桃花| 爽爽淫人综合网网站| 欧美日韩在线精品一区二区三区激情| 日韩欧美另类在线| 91精品一区二区三区久久久久久| 国产亚洲欧美日韩在线一区| 久久99精品久久久久久国产越南| 国产在线播精品第三| 在线看日韩精品电影| 亚洲综合丝袜美腿| 色94色欧美sute亚洲线路二| 亚洲午夜久久久久久久久久久 | 国产精品久久午夜夜伦鲁鲁| 麻豆精品一区二区综合av| 日韩一区二区电影在线| 国内精品在线播放| 亚洲欧洲av在线| 欧美综合一区二区三区| 免费成人美女在线观看.| 国产校园另类小说区| 国产欧美精品在线观看| 国产成人日日夜夜| 亚洲欧美一区二区三区极速播放| 色综合天天综合在线视频| 亚洲午夜一区二区三区| 日韩精品一区二区三区四区视频| 成人在线综合网| 蜜桃精品在线观看| 懂色av中文一区二区三区| 亚洲精品一区二区在线观看| zzijzzij亚洲日本少妇熟睡| 亚洲福利视频三区| 国产欧美一区在线| 亚洲精品一区在线观看| 6080日韩午夜伦伦午夜伦| 精品一区二区在线播放| 美女视频一区在线观看| 日本在线不卡视频| 亚洲天堂久久久久久久| 色综合天天做天天爱| 4hu四虎永久在线影院成人| 麻豆精品国产91久久久久久| 亚洲国产乱码最新视频| 国产精品久久久久久久久免费相片| 欧美日韩激情一区| 成人99免费视频| 国产一区二区三区高清播放| 亚洲国产视频一区二区| 国产精品麻豆视频| 日韩欧美国产综合一区| 99re成人在线| 色噜噜狠狠色综合欧洲selulu| 国产成人三级在线观看| 欧美国产激情一区二区三区蜜月| 777xxx欧美| 国产日本欧洲亚洲| 亚洲欧美另类小说| 亚洲一区二区三区在线| 亚洲精品伦理在线| 日韩高清一区二区| 国产高清不卡一区二区| 99久久99久久综合| 亚洲va欧美va国产va天堂影院| 日本伊人精品一区二区三区观看方式| 日韩1区2区日韩1区2区| 激情偷乱视频一区二区三区| 国产精品99久久久久久似苏梦涵| 成人免费不卡视频| 欧美色国产精品| 久久夜色精品一区| 亚洲视频你懂的| 日本成人在线一区| 国产精品12区| 777精品伊人久久久久大香线蕉| 精品美女一区二区| 亚洲第一av色| 97se亚洲国产综合自在线不卡| 欧美一区二区日韩一区二区| 伊人夜夜躁av伊人久久| 国产一区二区三区综合| 日韩视频免费观看高清完整版在线观看 | caoporn国产一区二区| 宅男在线国产精品| 亚洲欧美国产高清| 国产精品一区二区在线播放| 久久精品免视看| 国产精品免费av| 国产一区二区三区日韩| 日韩一区二区三区av| 日韩高清电影一区| 欧美日韩一二三区| 一二三区精品视频| 欧美影片第一页| 亚洲综合区在线| 8x8x8国产精品| 久国产精品韩国三级视频| 26uuu久久天堂性欧美| 蜜臀久久99精品久久久久宅男 | 国产盗摄一区二区| 国产精品网站在线播放| 成人国产精品免费观看| 亚洲三级小视频| 欧美日韩在线播放一区| 日本在线不卡视频一二三区| 欧美一级日韩免费不卡| 黄页网站大全一区二区| 欧美日韩精品系列| 亚洲成av人片一区二区梦乃| 欧美在线免费播放| 青青草国产成人av片免费 | 欧美午夜电影网| 国产在线视频一区二区三区| 亚洲同性同志一二三专区| 欧美一区二区三区思思人| 国产成人精品免费一区二区| 夜夜精品浪潮av一区二区三区| 欧美美女bb生活片| 91网上在线视频| 国产乱人伦精品一区二区在线观看| 丰满少妇久久久久久久| 亚洲图片欧美综合| 国产精品久久99| 欧美精彩视频一区二区三区| 欧美日韩国产综合久久| 欧洲精品一区二区| av成人免费在线观看| 成人开心网精品视频| 欧美一区二区在线免费播放| 在线观看免费视频综合| 9色porny自拍视频一区二区| av电影在线观看不卡| 午夜国产精品一区| 亚洲免费av网站| 亚洲精品欧美激情| 一区二区三区免费看视频| 国产精品视频一二| 国产精品美女久久久久久2018| 久久久久久久久久看片| 亚洲国产精品二十页| 中文字幕乱码日本亚洲一区二区 | 不卡一区二区三区四区|