導航:首頁 > 凈水問答 > 過濾器獲取請求url

過濾器獲取請求url

發布時間:2022-08-24 05:08:47

1. IIS過濾器,怎麼能捕獲到請求的URL並修改後轉向

核心提示:ISAPI的網站,URL地址為: 「http://www.test.com/disapi.dll/blist?aa=123&bb=456」 我想做個IIS過濾器,獲得這個地址串,進行一些訪問許可權的操作...我從網上找到一些資料,用GetFilterVersion和HttpFilterProc寫了
一個過濾器,可是取不到全部地址串,只能取到「www.test.com」
如何才能取到全部地址串,並在處理後再分別轉向到不同的網址??

//------------向對方發回信息 兩種方案(1 發送 HTML內容給對方,2 打開伺服器已有文件內容給對方)---------------------
if URL_TempFile='' then
BEGIN
sMsg:='<head><title>IISColander(' + IISColanderSession.SessionWebUrl + ')為本站提供 防盜鏈 保護</title></head><body><h1>文件跳轉</h1>';
sMsg:=sMsg+'IISColander(' + IISColanderSession.SessionWebUrl + ')為本站提供 防盜鏈 保護 <a HREF=http://';
sMsg:=sMsg+ sWebSite +'/ErrorFile/' + IISColanderSession.SessionErrorFile_GetUrl +'?URL="'+ sURL + sQUERY_STRING +'">跳轉</a></body>';
sMsgLen:=length(sMsg);
Try
sHead:= 'Location: http://'+ sWebSite + '/ErrorFile/' + IISColanderSession.SessionErrorFile_GetUrl+'?URL="' + sURL + sQUERY_STRING+'"' + #13#10;
pfc.AddResponseHeaders(pfc,pchar(sHead),0);
sHead:= '302 IISColander(' + IISColanderSession.SessionWebUrl + ')為本站提供防盜鏈保據';
pfc.ServerSupportFunction(pfc, SF_REQ_SEND_RESPONSE_HEADER, PChar(sHead), 0, 0);
pfc.WriteClient(pfc, PChar(sMsg), sMsgLen, 0);
Except
IISColanderSession.WriteLog('Error: 防盜鏈回信息於對方操作失敗'); //日誌記錄點
End;
Result:=SF_STATUS_REQ_FINISHED;
End
Else
Begin
Try
IISColanderSession

2. java 過濾器

想要屏蔽jsp,

<filter-mapping>
<filter-name>IPFilter</filter-name>
<url-pattern/*</url-pattern>
</filter-mapping>
就行了

3. java 中 使用Filter過濾器 如何獲取URL中的數據,具體如下:

不知道你說的是什麼意思,你可以吧數據加在url上一起發送,在filter中用request.getParameter(「數據名稱」)獲得,request要轉為HttpServletRequest

4. 過濾器 問題

過濾器 首先在 web.xml中配置
<filter-mapping>
<filter-name>encoding(名字)</filter-name>
<url-pattern>/*(有效范圍/*代表所有,如果是/page/* 就代表請求page文件路徑下的所有請求 都會經過過濾器處理)</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>encoding(對應上面的名字)</filter-name>
<url-pattern>com.test.CharEncoding(過濾器所在位置)</url-pattern>
</filter-mapping>

然後是過濾器寫法
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//獲得HttpServletRequest
HttpServletRequest req=(HttpServletRequest)request;
//講所有經過這個 過濾器處理的請求的編碼設置為utf-8
req.setCharacterEncoding("UTF-8");
//設置完之後 就繼續運行程序
chain.doFilter(request, response);
}

如果程序好吧 一條河流 水在一直往下流
過濾器 就是 在指定位置上 放了個濾網

你要知道
chain.doFilter(request, response);
是什麼意思 就要知道 web 程序運行 原理

客戶端 訪問web程序 是通過提交一個請求到
web伺服器 即request(訪問方式有 get post..等 訪問內容...想深入了解自己查,我這寫不了這么多)
然後web 伺服器 通過request 請求的方式和內容
進行操作,並返回
相應的結果(response) 給客戶端(一般式返回一個jsp結果頁面)
就是這么一個 過程
過濾器中的方法
就是 將 客戶端的 請求(request)進行 「過濾」
然後 將過濾後得到的的request 繼續由web程序里的
其他組件完成後續工作 返回結果

而調用 chain.doFilter(request, response);
就是讓 "過濾"後的request 繼續執行,
進入其他 web程序組件中

當然 如果你不寫這句話
request走到這個地方 就會停止

5. 在JAVA中的如何在過濾器中取到每一個URL請求

直接/* 攔截所以請求

6. java中 如何獲取客戶端請求的url

在servlet中的request對象中有url,可以用方法 getRequestURI().
如果在程序中得不到該請求的request對象內 那就得不到。

所以得到容url的 關鍵是 先得到 request

7. JSP過濾器這樣設置過濾一個次級路徑下的所有URL

/sites/*這樣就可以了,如果這個文件夾是某個子目錄的話還需要添加它的父目錄;

下面內是些例子
<url-pattern>:指定和過濾器關聯容的URL,為」/*」表示所有URL;
例子1:單個過濾器配置:容器將其應用於所有接收的請求
<url-pattern>/*</url-pattern>
例子2:過濾器應用到特定目錄或資源(文件)的配置:此容器只有在接收到對/mydocs目錄中的資源的請求時才會應用該過濾器。
<url-pattern>/mydocs/*</url-pattern>

8. java filter 如何中獲取請求地址

當我們訪問index.jsp/時,其實並不是我們瀏覽器真正訪問到了伺服器上的index.jsp 文件,而是先由代理伺服器去訪問index.jsp。

代理伺服器再將訪問到的結果返回給我們的瀏覽器,因為是代理伺服器去訪問index.jsp的。

所以index.jsp中通過 request.getRemoteAddr()的方法獲取的IP實際上是代理伺服器的地址,並不是客戶端的IP地址。

於是可得出獲得客戶端真實IP地址 的方法:

9. JSP中用filter 過濾某個包中的所有servlet

web.xml中這樣配置:

<servlet>

<servlet-name>Login</servlet-name>

<servlet-class>com.zq.servlet.Login</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>Login</servlet-name>

<url-pattern>/servlet/Login</url-pattern>

</servlet-mapping>

或者不配置web.xml在servlet中寫註解:

@WebServlet("/servlet/Login")

配置fliter可以在web.xml中這樣寫:

<filter>

<filter-name>LoginFilter</filter-name>

<filter-class>com.zy.filter.UserLoginFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>LoginFilter</filter-name>

<url-pattern>/servlet/*</url-pattern>

</filter-mapping>

或者不配置web.xml在filter中寫註解:

@WebFilter(filterName="/MyFilter",urlPatterns="/servlet/*")

即在所有想過濾的servlet名字前加上「/setvlet」在過濾的時候過濾路徑就可以寫成「/servlet/*」這樣就能過濾所有的Servlet。

10. JAVA過濾器ServletRequest如何轉換成HttpServletRequest

問題1:

org.apache.catalina.connector..servlet.http.HttpServletRequest

錯誤提示似乎挺明顯的了,說一個類型不能強制轉化為另一個類型。

待轉型類型是:org.apache.catalina.connector.ResponseFacade
目標類型是:javax.servlet.http.HttpServletRequest


我想你應該看出來了,ResponseFacade -->HttpServletRequest肯定是不行的?

也就是說你是用的那個arg1肯定是一個response,你寫錯了而已。

改過來就好。也建議你把arg這種的參數名字寫作res或者rep比較容易識別,並且可以提高代碼可讀性的變數名。


問題2:

關於過濾器實現地址的攔截,那麼首先獲得請求的地址,也就是通過request對象,它有好多個獲得url的不同不同部分的方法。比如可以使用getServletPath()方法獲得請求的路徑,然後判斷是否合法,不合法跳轉到指定頁面,合法那麼繼續chain.doFilter()。

閱讀全文

與過濾器獲取請求url相關的資料

熱點內容
RO反滲透膜的安裝方向 瀏覽:3
污水管覆土達不到要求怎辦 瀏覽:264
如何更換陶瓷台式濾芯 瀏覽:592
edi構造 瀏覽:929
污水處理初級證好考嗎 瀏覽:598
EDI酸最多清洗多久 瀏覽:962
誤喝5克除垢劑的水 瀏覽:343
樹脂飾品設備 瀏覽:994
污水處理廠畢業設計日誌 瀏覽:97
飛利浦gc2046除垢沖不出水 瀏覽:548
污水廠先進班組資料 瀏覽:898
污水處理有哪些污泥 瀏覽:944
超量排放廢水如何處罰 瀏覽:50
機油泵濾芯在哪裡 瀏覽:907
老房子衛生間污水排到哪裡 瀏覽:300
ro反滲透膜好壞判斷 瀏覽:902
武威純凈水哪個牌子好 瀏覽:281
反滲透在國外怎麼樣 瀏覽:968
凈化器什麼牌子好又實惠 瀏覽:805
玻璃水垢除垢劑哪家管用 瀏覽:944