java過濾敏感詞
1. java中如何過濾字元串裡面特殊字元
zenkill的回答應該是對的吧。
難道你的錯誤類似下面這樣?
錯誤原因已經註明。
class outoffunction
{
public int i;
i=100; //方法外面不應該對數據進行操作。
public static void main()
{
System.out.print(i);
}
}
2. JAVA,過濾輸入的詞語,把無關詞語過濾掉
packagetest;
publicclassMyTest
{
publicstaticvoidmain(String[]args)
{
Stringinput="Iwant200balls";
Stringreg="\d";
System.out.println(input.replaceAll(reg,""));
}
}
3. java過濾非法字元的filter
filter代碼在pujia12345提供的代碼上改的;
jsp頁面的編碼你設成你自己的,我用的是utf-8。
input.jsp輸入後,正常跳轉到handle.jsp,而禁詞已經被過濾。
filter:
package test;
import java.io.*;
import javax.servlet.*;
import java.util.*;
public class MyFilter implements Filter
{
private List<String> unString;
public void init(FilterConfig filterConfig) throws ServletException
{
unString = new ArrayList<String>();
unString.add("日");
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
String content = request.getParameter("content");//需要過濾的參數
if(content!=null){
for (int i = 0; i < unString.size(); i++)
{
String strIllegal = unString.get(i);
if (content.indexOf(strIllegal) >= 0)
{
content = content.replaceAll(strIllegal, "");//非法字元替換成空
}
request.setAttribute("content", content);//為request設置屬性保存修改後的值
}
}
chain.doFilter(request, response);
}
public void destroy()
{
//System.out.println("過濾器銷毀");
}
}
//---------------------------//
web.xml:
<filter>
<filter-name>myfilter</filter-name>
<filter-class>test.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>myfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
//---------------------------//
輸入頁面input.jsp:
<%@page contentType="text/html;charset=utf-8"%>
<!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">
<head>
<title>input.jsp</title>
</head>
<body>
<form action="handle.jsp" method="post">
<input type="text" name="content" />
<input type="submit" value=" 提交 " />
</form>
</body>
</html>
//---------------------------//
input提交的頁面handle.jsp:
<%@page contentType="text/html;charset=utf-8"%>
<!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">
<head>
<title> handle.jsp </title>
</head>
<body>
<%
String content = (String)request.getAttribute("content");
out.println(content);
%>
</body>
</html>
4. JAVA特殊字元過濾方法
public static String StringFilter(String str) throws PatternSyntaxException {
// 只允許字母和數字
// String regEx = "[^a-zA-Z0-9]";
// 清除掉所有特殊字元
String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】『;:」「』。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
5. 在JAVA中filter有什麼作用
Filter也稱之為過濾器,它是Servlet技術中最實用的技術,Web開發人員通過Filter技術,對web伺服器管理的所有web資源。
例如實現URL級別的許可權訪問控制、過濾敏感詞彙、壓縮響應信息等一些高級功能。例如對Jsp, Servlet, 靜態圖片文件或靜態 html 文件等進行攔截,從而實現一些特殊的功能。
它主要用於對用戶請求進行預處理,也可以對HttpServletResponse進行後處理。使用Filter的完整流程:Filter對用戶請求進行預處理,接著將請求交給Servlet進行處理並生成響應,最後Filter再對伺服器響應進行後處理。
(5)java過濾敏感詞擴展閱讀
Filter的生命周期
和我們編寫的Servlet程序一樣,Filter的創建和銷毀由WEB伺服器負責。 web 應用程序啟動時,web 伺服器將創建Filter 的實例對象,並調用其init方法,讀取web.xml配置,完成對象的初始化功能,從而為後續的用戶請求作好攔截的准備工作
filter對象只會創建一次,init方法也只會執行一次。開發人員通過init方法的參數,可獲得代表當前filter配置信息的FilterConfig對象。
這個方法完成實際的過濾操作。當客戶請求訪問與過濾器關聯的URL的時候,Servlet過濾器將先執行doFilter方法。FilterChain參數用於訪問後續過濾器。
Filter對象創建後會駐留在內存,當web應用移除或伺服器停止時才銷毀。在Web容器卸載 Filter 對象之前被調用。該方法在Filter的生命周期中僅執行一次。在這個方法中,可以釋放過濾器使用的資源。
6. java怎麼過濾「<」「>」「script」「iframe」等危險標簽
你是想防止腳本注入嗎?
比較好的方法是把<和>替換成轉義字元.
這樣好處(1)用戶體驗好,善意的用戶看來,輸入的是什麼顯示的還是什麼(2)可以防止多數腳本注入(3)工作量小,只用控制住<和>就可以了(4)可以解決一些純過濾解決不了的問題,比如<sscriptcript>這種惡意腳本,去除了script之後反而成全了攻擊者.而[轉義<]sscriptcript[轉義>]是沒有問題的
7. JAVA中如何利用StringBuffer方法來對一些用戶所提交的聊天內容中的敏感性詞語進行過濾
代碼發表不了,截圖給你