1. 程式人生 > >ASP 防SQL注入的兩種函式

ASP 防SQL注入的兩種函式

Function SafeRequest(ParaName,ParaType) 
'--- 傳入引數 --- 
'
ParaName:引數名稱-字元型 
'
ParaType:引數型別-數字型(1表示以上引數是數字,0表示以上引數為字元) Dim ParaValue 
ParaValue
=Request(ParaName) 
If ParaType=1thenIfnotisNumeric(ParaValue) then 
Response.write 
"引數"& ParaName &"必須為數字型!" 
Response.end 
EndifElse 
ParaValue
=replace(ParaValue,
"'","''"
Endif 
SafeRequest
=ParaValue 
End function

用SafeRequest(ParaName,ParaType)代替request.form("")和request..querystring("")

   *********************************************************************************************************

-------------------------------------------------------------------------------------------------------------------------------------------

   *********************************************************************************************************

<%dim sql_injdata
sql_injdata
="'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
sql_injHint
=replace(sql_injdata,"|","")
sql_injHint
=replace(sql_injHint,
"'","'")
sql_inj
=split(sql_injdata,"|")

if request.querystring<>""thenforeach getData in request.querystring
    
for i=0toubound(sql_inj)
        
ifinstr(lcase(request.querystring(getData)),sql_inj(i))>0then
        hint
="alert('為了保證使用者的資訊保安,請不要使用非法注入字元。如下字元為非法的: @[email protected]');"
        hint
=replace(hint,"@[email protected]",sql_injHint)
        response.write 
"<script language=javascript>"
        response.write hint
        response.write 
"history.back()"
        response.write 
"</script>"
        response.end
      
endifnextnextendifif request.form<>""thenforeach getData in request.querystring
    
for i=0toubound(sql_inj)
        
ifinstr(lcase(request.form(getData)),sql_inj(i))>0then
        hint
="alert('為了保證使用者的資訊保安,請不要使用非法注入字元。如下字元為非法的: @[email protected]');"
        hint
=replace(hint,"@[email protected]",sql_injHint)
        response.write 
"<script language=javascript>"
        response.write hint
        response.write 
"history.back()"
        response.write 
"</script>"
        response.end
      
endifnextnextendif%> 將此段程式碼形成一個檔案 (如:defanj.asp),將所有要用到資料庫的檔案頭部加入<!--#include file=defanj.asp-->

相關推薦

ASP SQL注入函式

Function SafeRequest(ParaName,ParaType) '--- 傳入引數 --- 'ParaName:引數名稱-字元型 'ParaType:引數型別-數字型(1表示以上引數是數字,0表示以上引數為字元) Dim ParaValue ParaValu

好用的aspSQL注入程式碼

在連線資料庫的下方加入程式碼就可以防止sql注入了:<%dim sql_injdata,SQL_inj,SQL_Get,SQL_Data,Sql_Post SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|m

aspsql注入

以下為引用的內容:<% Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx '宣告變數和陣列'---定義部份 頭------ Fy_Cl = 1 '處理方式:1=提示資訊,2=轉向頁面,3=先提示再轉向 Fy_Zx = "index.Asp" '出錯時轉向的頁面

php用於SQL注入的幾個函式

用於防SQL注入的幾個函式 不要相信使用者的在登陸中輸入的內容,需要對使用者的輸入進行處理 SQL注入: ' or 1=1 #   防止SQL注入的幾個函式:   addslashes($string):用反斜線引用字串中的特殊字元' " \ $u

簡單的ASP.netSQL注入

防sql注入是每個開發人員都要考濾的問題asp.net有個Global.asax檔案,有一個Application_BeginRequest方法(應用啟動獲取)就是當獲取到引數時觸發的事件;這裡就是網站頁面每次提交時都要經過的事件;在這裡做防注入就一下子卡住入口了程式碼如下:

C#SQL注入程式碼的三方法

對於網站的安全性,是每個網站開發者和運營者最關心的問題。網站一旦出現漏洞,那勢必將造成很大的損失。為了提高網站的安全性,首先網站要防注入,最重要的是伺服器的安全設施要做到位。 下面說下網站防注入的幾點要素。   一:丟棄SQL語句直接拼接,雖然這個寫起來很快

ASPXSS注入函式技巧

'*************************************'防XSS注入函式 更新於2009-04-21 by evio'與checkstr()相比, checkxss更加安全'*************************************Fu

sql情況判斷(if函式)、多種情況判斷(case .. when...)

原地址:https://segmentfault.com/a/1190000009676728 sum(if(actual_num>0, share_post,0)) 其中SUM的意思淺顯易懂,求和嘛。IF也十分清晰:判斷嘛。而且if的第一個引數很明顯就是條件,

ASP.netSQL注入(簡單)

一,驗證方法  /// <summary>  ///SQL注入過濾  /// </summary>  /// <param name="InText">要過濾的字串</param>  /// <returns>如果引數存在不安全字元,則返回true

php對前臺提交的表單資料做安全處理(SQL注入和XSS攻擊等)

/** * 防sql注入字串轉義 * @param $content 要轉義內容 * @return array|string */ public static function escapeString($content) { $pa

MySQLSQL注入

1,mysql_real_escape_string()函式已經不安全,可以利用編碼的漏洞來實現輸入任意密碼就能登入伺服器的注入攻擊 2,使用擁有Prepared Statement機制的PDO和MYSQLi來代替mysql_query(注:mysql_query自 PHP 5.5.0 起已

ubuntu上安裝Apache2+ModSecurity及實現SQL注入演示

ubuntu上安裝Apache2+ModSecurity及實現防SQL注入演示 一、Apache2 的安裝 1.1、安裝環境: OS:Ubuntu 16.04.1 LTS Apache: Apache/2.4.18 (Ubuntu) 安裝命令: 更新安裝源:

回頭探索JDBC及PreparedStatementSQL注入原理

概述 JDBC在我們學習J2EE的時候已經接觸到了,但是僅是照搬步驟書寫,其中的PreparedStatement防sql注入原理也是一知半解,然後就想回頭查資料及敲測試程式碼探索一下。再有就是我們在專案中有一些配置項是有時候要變動的,比如資料庫的資料來源,為了在修改配置時不改動編譯的程式碼,我們把要變動的

Python 資料庫,操作mysql,sql注入,引數化

  demo.py(防sql注入): from pymysql import * def main(): find_name = input("請輸入物品名稱:") # 建立Connection連線 conn = connect(host='local

sql注入方法

一、什麼是sql注入 sql注入是比較常見的網路攻擊方式之一,它不是利用作業系統的bug進行攻擊,而是通過程式設計程式碼的疏漏,通過編寫特定的sql語句,進行資料庫的非法訪問。 二、 sql注入流程 尋找sql注入位置 判斷伺服器型別和後臺資料型別 針對不同的伺服器和資料庫特點

SQL注入:sleep()函式相關解決方案

最近做安全掃描的時候,經常遇到sleep()型的SQL注入,這個是request傳送後會產生一個timeout的delay,沒有respond。 跟我之前遇到的一般意思SQL注入不一樣,之前的是SQL語句拼接產生的注入,會通過注入點抓到資料庫。 這個相當於一種DDOS攻擊,向資料庫不停的

mybatissql注入

MyBatis如何防止SQL注入      SQL注入是一種程式碼注入技術,用於攻擊資料驅動的應用,惡意的SQL語句被插入到執行的實體欄位中(例如,為了轉儲資料庫內容給攻擊者)。[摘自] SQL injection - Wikipedia SQL注入,

C# 使用引數化SQL語句(SQL注入攻擊)

“SQL注入攻擊”問題。我們在程式中存在著大量拼接產生SQL語句的程式碼,這就會導致一個比較大的安全隱患,容易遭受SQL注入攻擊。我們在程式碼中用的SQL語句是: string sqlStr = "select * from [Users] where User

web安全sql注入

所謂SQL注入,就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的SQL命令。具體來說,它是利用現有應用程式,將(惡意的)SQL命令注入到後臺資料庫引擎執行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得

C#(.net)中的一次連線資料庫執行多條sql語句(方法)

第一種方法: string str="server=.;uid=sa;pwd=111111;database=text_db";//連線字串 SqlConnection SCON = null;//連線物件 SqlCommand SCom=new SqlCommand();/