mysql特殊字元過濾
1. 避免mysql注入應該避免有哪些特殊字元
特殊字元有:
SQL中通配符的使用
SQL注入式攻擊,就是攻擊者把SQL命令插入到Web表單的輸入域內或頁面請求的查詢字元串,欺騙服容務器執行惡意的SQL命令。在某些表單中,用戶輸入的內容直接用來構造(或者影響)動態SQL命令,或作為存儲過程的輸入參數,這類表單特別容易受到SQL注入式攻擊。
2. mysql 字元欄位怎樣屏蔽'
這樣的東西是轉換過了的特殊字元,從資料庫取出的時候要還原才能用。
3. mysql如何過濾特殊字元用PHP語言。高分求助,給補分
function deletehtml($str) {
$str = trim($str);
$str = preg_replace("</P>","1234a3211",$str);
$str = preg_replace("</p>","1234a3211",$str);
$str = preg_replace("<br/>","1234a3211",$str);
$str = preg_replace("/<(.[^>]*)>/","",$str);
$str = preg_replace("/([\r\n])[\s]+/","",$str);
$str = preg_replace("/-->/","",$str);
$str = preg_replace("/<!--.*/","",$str);
$str = preg_replace("/&(quot|#34);/","",$str);
$str = preg_replace("/&(amp|#38);/", "/&/",$str);
$str = preg_replace("/&(lt|#60);/", "/</",$str);
$str = preg_replace("/&(gt|#62);/", ">",$str);
$str = preg_replace("/&(nbsp|#160);/", "",$str);
$str = preg_replace("/&(iexcl|#161);/", "/\xa1/",$str);
$str = preg_replace("/&(cent|#162);/", "/\xa2/",$str);
$str = preg_replace("/&(pound|#163);/", "/\xa3/",$str);
$str = preg_replace("/&(|#169);/", "/\xa9/",$str);
$str = preg_replace("/(\d+);/", "",$str);
$str = preg_replace("/</", "",$str);
$str = preg_replace("/>/", "",$str);
$str = preg_replace("/\r\n/", "",$str);
$str = preg_replace("/1234a3211/", "/<br/>/",$str);
return $str;
}
4. mysql模糊查詢like中包含特殊字元在php中要如何處理
前面加個\
轉義字元 比如\&就是&
5. mysql怎樣刪除名字含有特殊字元的資料庫
||||使用反
引號
``
就是英文輸入法下,1左邊的那個鍵。
mysql>
CREATE
DATABASE
`內!@#$%^&*()_`;Query
OK,
1
row
affected
(0.00
sec)mysql>
SHOW
DATABASES;+--------------------+|
Database
|+--------------------+|
information_schema
||容
!@#$%^&*()_
||
mysql
||
performance_schema
||
test
||
users
|+--------------------+10
rows
in
set
(0.00
sec)
6. Mysql 插入特殊字元的時候如何處理
加上反斜杠,就抄是對襲 ' 或者 " 的,可以用 \' 和 \'' 替換 \"\'12><>》;
一般如果是在php程序上進行插入資料庫的話,可以先做個處理
$str=' "'12><>》; ';
if(!get_magic_quotes_gpc()){
$str=addslashes($str);
//addslashes這個函數會對字元串進行處理,即對 ' 或者 " 的,用 \' 和 \'' 替換
}
7. 防止mysql注入腳本應避免哪些特殊字元
防止SQL注入,我們需要注意以下幾個要點:
1.永遠不回要信任用戶的輸入答。對用戶的輸入進行校驗,可以通過正則表達式,或限制長度;對單引號和 雙"-"進行轉換等。
2.永遠不要使用動態拼裝sql,可以使用參數化的sql或者直接使用存儲過程進行數據查詢存取。
3.永遠不要使用管理員許可權的資料庫連接,為每個應用使用單獨的許可權有限的資料庫連接。
4.不要把機密信息直接存放,加密或者hash掉密碼和敏感的信息。
5.應用的異常信息應該給出盡可能少的提示,最好使用自定義的錯誤信息對原始錯誤信息進行包裝
6.sql注入的檢測方法一般採取輔助軟體或網站平台來檢測,軟體一般採用sql注入檢測工具jsky,網站平台就有億思網站安全平台檢測工具。MDCSOFT SCAN等。採用MDCSOFT-IPS可以有效的防禦SQL注入,XSS攻擊等。
8. MYSQl 特殊字元
你直接用MySQL當然不會有問題
所謂漏洞是這樣產生的。。。
你寫SQL代碼這么版寫(以ASP為例,PHP同理,但是權更難利用)
SQL="select * form user where username='" & request("username") & "' and password='" & request("password") & "'"
那麼這樣我如果在頁面中用戶名和密碼填入'or''='
得到的結果是什麼呢?SQL語句變成
select * from user where username='' or ''='' and password='' or ''=''
這樣無論資料庫中用戶名密碼是什麼,此句永遠返回資料庫中的第一個用戶,此時,你就非法登陸到網站上了,這就是流傳的SQL Injection,SQL注入,主要寫的特殊字元是指' " ;這種字元,他們會打亂SQL語句本身的邏輯,使伺服器錯誤的執行
9. mysql 全文索引 查詢帶特殊字元的記錄 如" ' . ,怎麼辦
帶上轉義符,可以寫一個專門轉義這個變數的方法
10. MySQL模糊查詢特殊字元如何查詢
使用復 escape 關鍵字定義轉義符。制
當轉義符置於通配符之前時,該通配符就解釋為普通字元。例如,要搜索在任意位置包含字元串 % 的字元串,可以這么用,第二個%被重新定義為查找的關鍵字,而不再是通配符:
select*fromuserwherenamelike"%/%%"escape"/";