導航:首頁 > 凈水問答 > java過濾違規字元

java過濾違規字元

發布時間:2021-02-02 21:27:21

1. java怎樣過濾危險字元

就WEB應用來說,所謂危險的字元一般就是兩種
一個是SQL注入,一個是HTML語法注入
回SQL注入主流的框架答都可以搞定,JDBC永遠都使用preparedstatement就可以防止所有的sql注入,關鍵是用戶輸入都要通過佔位符往裡放,就自動的替換掉了特殊字元了。hibernate等orm框架都會搞定這個問題

HTML語法注入是指用戶輸入的html代碼回顯出來,這樣如果不轉義就可以破壞頁面的結構或者注入腳本。所以現在的網站都不允許用戶直接輸入html代碼了,現在都是一些UBB標簽來完成一些效果。HTML主要最好的解決辦法是在回顯的時候進行轉義,所有的MVC框架或者展示層框架都有HTML轉義的支持,包括struts,spring,volicty等,注意觀察他們用於顯示的標簽

2. 在JAVA中輸入什麼代碼才能屏蔽非法字元

Java代碼 package com.zhangkai.Filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class FilterToWord implements Filter { //銷毀,當伺服器關閉的時候,也就destroy了。 @Override public void destroy() { } //過濾 @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //首先拿到你輸入的字元 String content = request.getParameter("content"); //第二步,判斷一下拿到的值是不是空值 if (content != null) { //比如我們規定含有AAA的是非法字元 if (content.indexOf("AAA") == -1) { //如果不包含,則繼續往下操作 chain.doFilter(request, response); } else { //反之,就提示用戶,輸入有誤 System.out.println("有非法文字"); //如果有需要依然可以使用request.getRequestDispatcher跳轉 } } else { //如果是空值,則繼續操作 chain.doFilter(request, response); } } //初始化,伺服器一打開就init。 @Override public void init(FilterConfig arg0) throws ServletException { } }

3. jsp\java 如何編寫過濾器過濾特殊字元

package com.jing.common;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class IllegalCharacterFilter implements Filter {
private String[] characterParams = null;
private boolean OK=true;

public void init(FilterConfig config) throws ServletException {

// if(config.getInitParameter("characterParams").length()<1)
// OK=false;
// else
// this.characterParams = config.getInitParameter("characterParams").split(",");
System.out.println("初始化");
}

@SuppressWarnings("unchecked")
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest servletrequest = (HttpServletRequest) request;
HttpServletResponse servletresponse = (HttpServletResponse) response;
String param = "";
String paramValue = "";

//設置請求編碼格式
servletresponse.setContentType("text/html");
servletresponse.setCharacterEncoding("UTF-8");
servletrequest.setCharacterEncoding("UTF-8");
java.util.Enumeration params = request.getParameterNames();
//循環讀取參數
while (params.hasMoreElements()){
param = (String) params.nextElement(); //獲取請求中的參數
String[] values = servletrequest.getParameterValues(param);//獲得每個參數對應的值

for (int i = 0; i < values.length; i++) {

paramValue = values[i];

//轉換目標字元變成對象字元,可以多個。後期擴展特殊字元庫用於管理
paramValue = paramValue.replaceAll("'","");
paramValue = paramValue.replaceAll("@","");
paramValue = paramValue.replaceAll("胡錦濤","***");

//這里還可以增加,如領導人 自動轉義成****,可以從資料庫中讀取非法關鍵字。
values[i] = paramValue;

}

//把轉義後的參數重新放回request中
request.setAttribute(param, paramValue);
}
//繼續向下 執行請求,如果有其他過濾器則執行過濾器
arg2.doFilter(request, response);
}

public void destroy() {
// TODO Auto-generated method stub
}
}

4. java : json 過濾不合法字元的工具包工具類工具

json中沒有自帶的過濾不合法字元的工具類,需要用戶自己編寫。
將源數據中的'、回"、\\、空格、換行答等都替換成轉義符,這樣你拼接的json數據就是正常的,顯示出來格式和資料庫中的一樣。
function valueReplace(v) {
if (v.indexOf("\"") != -1) {
v = v.toString().replace(new RegExp('(["\"])', 'g'), "\\\"");
}
else if (v.indexOf("\\") != -1)
v = v.toString().replace(new RegExp("([\\\\])", 'g'), "\\\\");
return v;
}

5. 誰知道在JAVA中怎麼屏蔽非法字元

^^只能輸入數字:「^[0-9]*$」只能輸入n位的數字:「^\d{n}$」只能輸入至少n位數字版:權「^\d{n,}$」只能輸入m-n位的數字:「^\d{m,n}$」只能輸入零和非零開頭的數字:「^(0|[1-9][0-9]*)$」只能輸入有兩位小數的正實數:「^[0-9]+(.[0-9]{2})?$」只能輸入有1-3位小數的正實數:「^[0-9]+(.[0-9]{1,3})?$」只能輸入非零的正整數:「^\+?[1-9][0-9]*$」只能輸入非零的負整數:「^\-[1-9][0-9]*$」只能輸入長度為3的字元:「^.{3}$」只能輸入由26個英文字母組成的字元串:「^[A-Za-z]+$」只能輸入由26個大寫英文字母組成的字元串:「^[A-Z]+$」只能輸入由26個小寫英文字母組成的字元串:「^[a-z]+$」只能輸入由數字和26個英文字母組成的字元串:「^[A-Za-z0-9]+$」只能輸入由數字、26個英文字母或者下劃線組成的字元串:「^\w+$」驗證用戶密碼:「^[a-zA-Z]\w{5,17}$」正確格式為:以字母開頭,長度在6-18之間,

6. JAVA中如何過濾字元串裡面特殊字元

class test
{

public static void main(String []args)
{
String a = "1111-22-33 13:15:46",b=new String();
int i,j,t;
for(i=0;i<a.length();i++)
if(a.charAt(i)!='-' && a.charAt(i)!=':' && a.charAt(i)!=' ')
b=b+a.charAt(i);
System.out.println(b);
}
}

7. java 用poi 操作excel 把裡面的數據取出後過濾掉非法的字元等 ,在放到資料庫中

樓上復哥們正解... 幫你再詳細制點吧
解析Excle使用POI的話 ,你是直接讀取文件還是做上傳再來,如果上傳就稍微麻煩點,直接讀取比較簡單
解析Exlce的話主要用到的幾個類HSSFWorkbook ,Excle對象
通過他獲取你的sheet ,可以通過制定名字來wb.getShee(名字);
然後通過sheet 獲取行 sheel.getRow(first),通過行再獲取每個單元格HSSFCell
你在獲取每個單元格的時候最好先判斷下是否為空這些,避免空指針
同時POI也提供了 判斷取出來的值是什麼類型的比如字元串這些。
過濾非法字元串這些 你可以通過Pattern.matches(),這個方法來匹配
最後將讀取的excle數據封裝成為集合,批量插入資料庫...
加油把.... 網上有很多這種資料.. ~~

8. java過濾非法字元的filter

filter代碼在pujia12345提供的代碼上改的;
jsp頁面的編碼你設成你自己的,我用的是-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>

9. java怎樣過濾危險字元,該怎麼解決

就WEB應用來說,所謂危險的字元一般就是兩種
一個是SQL注入,一個是HTML語法注回入
SQL注入主流的框架都可答以搞定,JDBC永遠都使用preparedstatement就可以防止所有的sql注入,關鍵是用戶輸入都要通過佔位符往裡放,就自動的替換掉了特殊字元了。hibernate等orm框架都會搞定這個問題

HTML語法注入是指用戶輸入的html代碼回顯出來,這樣如果不轉義就可以破壞頁面的結構或者注入腳本。所以現在的網站都不允許用戶直接輸入html代碼了,現在都是一些UBB標簽來完成一些效果。HTML主要最好的解決辦法是在回顯的時候進行轉義,所有的MVC框架或者展示層框架都有HTML轉義的支持,包括struts,spring,volicty等,注意觀察他們用於顯示的標簽

閱讀全文

與java過濾違規字元相關的資料

熱點內容
大流量袋式過濾器生產基地 瀏覽:995
反滲透什麼情況下爆破膜爆破 瀏覽:37
國家生物污水排放標准 瀏覽:355
污水廠工程工藝流程 瀏覽:918
破碎錘帶回油濾芯干什麼用 瀏覽:541
金正立式飲水機怎麼清洗 瀏覽:548
java過濾換行符 瀏覽:199
飲水機裡面放出來的水特別臟怎麼辦 瀏覽:924
純水機拍出來的廢水 瀏覽:929
污水處理廠三年規劃目標 瀏覽:630
回收二手過濾機 瀏覽:155
大車濾芯怎麼賣 瀏覽:472
半透膜蔗糖和葡萄糖液面變化 瀏覽:1000
青島市生活污水氨氮吹脫塔哪裡有 瀏覽:775
用過的君子蘭土能否回用 瀏覽:417
機油濾芯可以用什麼代替 瀏覽:634
如何拆鴻芯直飲凈水器 瀏覽:398
自製蒸餾葡萄酒 瀏覽:741
酚醛樹脂專用丁腈橡膠 瀏覽:852
超濾管3k與10k的區別 瀏覽:870