Ⅰ 如何防止web伺服器主頁被非法修改
(1)給正常文件一個通行證;
將正常的程序文件數量、名稱記錄下來,並保存每一個正常文件的MD5散列做成數字簽名存入資料庫;如果當遇到黑客攻擊修改主頁、掛馬、提交webshell的時候,由於這些文件被修改過或者是新提交的,沒有在資料庫中存在,則將其刪除或者恢復以達到防護效果;
(2)檢測和防護SQL注入攻擊;
通過過濾SQL危險字元如:「』、select、where、insert、,、;」等等將其進行無害化編碼或者轉碼,從源頭遏止;對提交到web伺服器的數據報進行過濾檢測是否含有「eval、wscript.shell、iframe」等等;
(3)檢測和防護DNS攻擊解析;
不斷在本地通過nslookup解析域名以監視域名的指向是否合法;
(4)檢測和防護ARP攻擊;
綁定MAC地址,檢測ARP攻擊並過濾掉危險的ARP數據報;
(5)過濾對WEB伺服器的請求;
設置訪問控制列表,設置IP黑名單和白名單過濾掉非法訪問後台的IP;對web伺服器文件的請求進行文件預解析,對比解析的文件與原文件差異,存在差異的取源文件返回請求;
(6)做好集群或者資料庫加密;
對於NT系統設置好文件夾許可權,控制因操作失誤所帶來的損失;對於SQL 2005可以設置管理IP和資料庫加密,切斷資料庫篡改的源頭;
(7)加強培訓;
加強安全意識培訓,操作合理化培訓,從程序自身的源頭遏制,從管理員自身的源頭遏制。
摘自天下數據官網!!天下數據--專業運營香港伺服器、韓國伺服器、美國伺服器等等海外優質伺服器!
Ⅱ 為什麼分享不了一篇文章,電腦顯示WEB瀏覽器已對此頁面進行了修改,幫助阻止跨站腳本
1、點擊「工具」選擇『Internet 選項」;
Ⅲ 您的請求過於頻繁,已被網站管理員設置攔截怎麼解決
問題就是出現在我們CC防護規則沒有設置好,我們在配置安全狗的CC防護規則時設置太嚴格才會導致這樣的攔截。所以修改CC防護規則即可解決。
具體修改步驟如下:
第一步:首先我們打開網站安全狗的CC防護規則頁面,如圖所示:
我們可以先把單位時間內的允許最大請求數目調大一點,比如增加10次,然後保存一下,重啟一下web服務,使修改規則後可以立即生效。
第二步:修改完規則後,再嘗試訪問看看,如果不行就在調試,直到不會攔截為止。
第三步:如果這時您有將「會話驗證模式」調到高級模式或者中級模式,我們建議您在調整數值還沒有效果的情況下,將會話驗證模式調為初級看看。調完之後,保存、重啟一下web服務,使修改規則後可以立即生效。
Ⅳ 如何防止ajax請求的參數被攔截修改
jquery ajax是個很常用介面,而在請求時候,可能存在響應401的情況(身份認證過期或未登錄),比較容易出現在混合應用上,如何進行身份認證,重發失敗請求,還是值得注意的。
ajax請求有兩種方式
1. 回調
最常寫的方式,成功失敗處理以回調方式傳入。
$.ajax({ ajax參數... success : xxxxxx error: xxxxxx });
2. Deferred方式
Deferred模式我在《js非同步編程》有說明, ajax調用本身返回就是一個Deferred對象,成功失敗回調不以參數傳入。
$.ajax({ ajax參數... }).then(function(res){ //成功處理片段 },function(err){ //失敗處理片段 });
既然有這兩種方式,那應對處理401的方式也是有兩種。
401處理的兩種方式
1. 回調
這種方式的處理比較簡單,在失敗回調裡面判斷401,如果是則進行身份認證,成功重發請求。
function getXXXX(type, url, data, success, error){ $.ajax({ ajax參數... success : xxxxxx error : function(xhr,textStatus,errorThrown){ if (xhr.status == 401) { 刷新身份認證方法(function(){ getXXXX(type, url, data, success, error); }); } else{ // 調用外部的error error && error(xhr,textStatus,errorThrown); } } }); }
2. Deferred方式
這種方式目前我找到的處理方式需要修改jquery源碼。
//全局設置一個方法 $.ajaxSetup({ authError : function(callback){ 刷新身份認證方法( function(){ callback && callback(); }); } }); //jquery2.1.4版本源碼,大概是8261行 // Success/Error if ( isSuccess ) { deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); } else { if(( jqXHR.status == 401 || jqXHR .status == 403) && callbackContext.authError){ callbackContext.authError(function (){ state = 0; jqXHR.setRequestHeader( "Authorization", XXXXXX); jqXHR.readyState = 1; try { state = 1; transport.send( requestHeaders, done ); } catch ( e ) { // Propagate exception as error if not done if ( state < 2 ) { done( -1, e ); // Simply rethrow otherwise } else { throw e; } } }); return; } else { deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); } }
這里說下為什麼不能像第一種方式那樣進行請求。
有兩個原因:
1. then這種鏈式寫法,導致這請求的回調不是在參數里,而是在jQuery.Callbacks一個optionsCache全局變數里,我們無法在ajax error里拿到回調函數進行重發。
2. 寫在then里的回調觸發一次就會被銷毀,當觸發了error時,回調執行後就銷毀。
最後的處理方式就是在要觸發error之前,攔截401的錯誤,重新進行身份認證,然後重置狀態,重發請求。
以上這篇當jquery ajax遇上401請求的解決方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
Ⅳ 伺服器安全狗web防火牆怎麼設置參數
通過單擊操作界面右上方的 「已開啟」/「已關閉」按鈕來開啟/關閉WEB防火牆功能。隨後,點擊「規則設置」可進入具體的參數設置界面。如下圖所示:
2/7
web防火牆的參數設置問題:
WEB 防火牆的各項參數主要針對CC攻擊進行設置,所有參數都是根據實驗測試得出的,所以一般情況下建議用戶直接使用系統默認設置。但在使用過程中,用戶也可以根據實際攻擊情況隨時修改各項參數值。包括訪問規則、埠設置、會話驗證、代理規則。
3/7
訪問規則的設置: WEB 防火牆的訪問規則主要有三個部分組成: 首先是ip對網站訪問的次數進行驗證,在一定時間內對網站的訪問沒有超過設定次數,則該ip能夠對網站進行訪問。假設當訪問在60秒內達到30次時,如果訪問超過該設置,若開啟會話驗證模式將進入會話驗證,否則直接進行攔截; 其次,「IP凍結時間」用以設置被安全狗判斷為攻擊的IP將會被禁止訪問的時間長度,時間單位為分鍾,取值需為大於1的整數,用戶可以視攻擊情況修改限制訪問的時間長度。如說設置凍結時間為30分鍾,那麼在30分鍾內該IP就無法訪問; 最後是ip放行時間,針對會話驗證模式中的幾種情況,通過驗證後的ip能夠對網站進行訪問,且在設
定的ip放行時間內不會對該ip進行會話驗證,放行時間結束後將進行再次驗證。
4/7
埠設置問題:
埠設置功能則是針對WEB訪問的重要埠,主要起保護埠的目的。用戶可以通過點擊「+」按鍵把要保護的埠加入保護埠列表中,常見的web埠映射有80、8080等等埠
5/7
會話驗證的設置: 會話驗證主要通過會話模式來對訪問ip進行判斷訪問網站是否具有合法行。會話驗證擁有三種模式分別如下: 初級模式:代表非首次的非點擊式會話驗證(正常情況下推薦使用該模式) 中級模式:代表首次的非點擊式會話驗證(對所有的訪問都會進行自動驗證,如果網站處於間歇性被攻擊狀態,建議使用該模式) 高級模式:代表首次的點擊式會話驗證(即對所有的訪問都會要求進行手動點擊驗證,如果網站長期處於被攻擊狀態,建議使用該模式)
6/7
【 首次代表第一次,非首次代表不是第一次。對於非首次會話驗證,只有在觸發了規則的情況下,才會進入會話驗證或者攔截條件。比如30秒內單IP允許請求50次,如果達到或超過此條件就會觸發規則,遭到攔截】【非點擊式:透明式,WEB瀏覽器會自動根據回復的http的腳本自動跳轉。 點擊式:需要用戶通過點擊WEB瀏覽器的點擊按鈕。】
7/7
代理規則: WEB防火牆中也加入了代理規則,通過設定最大IP數,設置代理規則對網站進行訪問。分為以下兩種情況: 代理數為0 時:若開啟會話驗證,則每個代理訪問網站的時候就會進行會話驗證,若未開啟會話驗證,那麼每個代理將直接被攔截。 代理數不為0時(加入設定為10個代理IP):開啟會話驗證(非首次會話驗證,如初級模式),則30秒內超過第10個的代理IP訪問將進入會話驗證邏輯;開啟會話驗證(首次會話驗證,如中級或高級模式),則每個代理IP訪問將進入會話驗證邏;若未開啟會話驗證,則30秒內超過第10個的代理IP訪問將直接被攔截,即第11個代理IP訪問就被攔截。
伺服器安全狗web防火牆圖文設置教程
[
Ⅵ 您的請求帶有不合法參數,已被網站管理員設置攔截!可能原因:您提交的內容包含危險的攻擊請求如何解決:
這個是網站安全狗---主動防禦----網站漏洞防護模塊引起的攔截頁面返回提示,不知道是做了什麼操作導致。
第一種方法:最保險的方法:就是在您操作時,先關閉該攔截規則,等操作完畢後,在開起來,繼續保護,比如你更新網站文件遇到攔截,您就先關閉保存,然後上傳完在打開功能繼續防護,這個雖然比較繁瑣,但是是最安全的方法。
第二種方法:將您需要修改的路徑或者文件添加到最下的白名單中。針對添加到白名單中的路徑或者文件,都是放行的,安全狗不會網站漏洞防護模塊不會進行攔截。
第三種方法:調整相應規則的設置,哪條規則引起的關閉那條規則,但是這種是我們比較不建議的,因為關閉了,就讓攻擊者有機可乘。
第四種方法:根據觸發規則的攔截,可以自己檢查一下代碼,修改一下代碼,在進行提交,如果不能修改就使用。這種是最好的方法,既不用關閉規則也能上傳文件代碼,如果文件不能修改,那我們建議使用第一種方法解決問題。
(轉自安全狗論壇)
希望有用哦~~~
Ⅶ java web 攔截所有的jsp頁面,並獲取jsp的地址,並預設值,使得jsp頁面可以使用$標識獲取值
頁面國際化一般是都用標簽庫實現的,是一個比較優美的方式。JSTL就有國際化的實現
Ⅷ 您的請求過於頻繁,已被網站管理員設置攔截!
問題就是出現在我們CC防護規則沒有設置好,我們在配置安全狗的CC防護規則時設置太嚴格才會導致這樣的攔截。所以修改CC防護規則即可解決。
具體修改步驟如下:
第一步:首先我們打開網站安全狗的CC防護規則頁面,如圖所示:
我們可以先把單位時間內的允許最大請求數目調大一點,比如增加10次,然後保存一下,重啟一下web服務,使修改規則後可以立即生效。
第二步:修改完規則後,再嘗試訪問看看,如果不行就在調試,直到不會攔截為止。
第三步:如果這時您有將「會話驗證模式」調到高級模式或者中級模式,我們建議您在調整數值還沒有效果的情況下,將會話驗證模式調為初級看看。調完之後,保存、重啟一下web服務,使修改規則後可以立即生效。
Ⅸ 如何攔截並修改Http響應
通過置一個web 瀏覽器使用其代理伺服器,所有的網站流量可以被攔截,查看和修改。默認情況下,對非媒體資源的請求將被攔截並顯示(可以通過Burp Proxy 選項里的options
Ⅹ SpringMVC攔截器如何修改請求參數
攔截器1,基本攔截器:
package cn.ijava.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
public class BaseInterceptor implements HandlerInterceptor{
/**
* 在DispatcherServlet之前執行
* */
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
System.out.println("************BaseInterceptor preHandle executed**********");
return true;
}
/**
* 在controller執行之後的DispatcherServlet之後執行
* */
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
throws Exception {
System.out.println("************BaseInterceptor postHandle executed**********");
}
/**
* 在頁面渲染完成返回給客戶端之前執行
* */
public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
System.out.println("************BaseInterceptor afterCompletion executed**********");
// Thread.sleep(10000);
}
}指定controller請求的攔截器
{ publicbooleanpreHandle(HttpServletRequestarg0,HttpServletResponsearg1,Objectarg2)throwsException{ System.out.println("**********************"); returntrue; } publicvoidpostHandle(HttpServletRequestarg0,HttpServletResponsearg1,Objectarg2,ModelAndViewarg3) throwsException{ System.out.println("**********************"); } publicvoidafterCompletion(HttpServletRequestarg0,HttpServletResponsearg1,Objectarg2,Exceptionarg3) throwsException{ System.out.println("**********************"); }}
在SpringMVC的配置文件中注冊這兩個攔截器
<!-- 攔截器 -->
<mvc:interceptors>
<!-- 對所有請求都攔截,公共攔截器可以有多個 -->
<bean name="baseInterceptor" class="cn.ijava.interceptor.BaseInterceptor" />
<!-- <bean name="testInterceptor" class="cn.ijava.interceptor.TestInterceptor" /> -->
<mvc:interceptor>
<!-- 對/test.html進行攔截 -->
<mvc:mapping path="/test.html"/>
<!-- 特定請求的攔截器只能有一個 -->
<bean class="cn.ijava.interceptor.TestInterceptor" />
</mvc:interceptor>
</mvc:interceptors>定義一個測試使用的controller:
@{ @RequestMapping("/test.html") (){ System.out.println("---------TestControllerexecuted--------"); returnnewModelAndView("test"); }}
擴展:java里的攔截器是動態攔截Action調用的對象。
它提供了一種機制可以使開發者可以定義在一個action執行的前後執行的代碼,
也可以在一個action執行前阻止其執行,同時也提供了一種可以提取action中可重用部分的方式。
在AOP(Aspect-Oriented Programming)中攔截器用於在某個方法或欄位被訪問之前,
進行攔截然後在之前或之後加入某些操作。