php 驗證客戶端輸入 防止攻擊

2025-04-04 11:10:36 字數 3215 閱讀 4458

求php防止被sql 注入攻擊的過濾使用者輸入內容的函式

1樓:網友

function clean($v)

把'_'過濾掉。

v = str_replace("_", "\_", $v);

把'%'過濾掉。

v = str_replace("%", "\%", $v);

把'*'過濾掉。

v = str_replace("*", "\*", $v);

回車轉換。v = nl2br($v);

html標記轉換。

v = htmlspecialchars($v);

return $v;

如果需要,還可以遮蔽一下危險字元,例如insert, update, delete等。

將update去掉。

v = str_replace("update", "", $v);

最後,在拼裝sql語句時,使用者輸入的東西,全括在單引號內。

2樓:沒有響應

mysqli_real_escape_string($link,$str);

這個會把字串中有危險的字元全部轉意。

最好在用這個之前在限制一下輸入字元的長度。

3樓:匿名使用者

**被黑客攻擊,說明你的**存在很多安全隱患,漏洞之類的,就算登入伺服器找到原始檔修復了,也會被黑客再次入侵,所以只有把**的所有漏洞找出來進行修復,防止黑客的攻擊,避免安全事故發生,造成網頁掛馬、網頁內容被篡改、資料洩露等,可以找專業的網路安全公司來服務!國內也就sinesafe和綠盟等安全公司 比較專業。

php下怎樣防止xss攻擊

4樓:網友

最簡單直接的做法:

寫入資料的時候不過濾,不管使用者輸入什麼。(前提是要避免 sql注入)無論在頁面輸出什麼都 htmlspecialchars 一次。

這樣基本可以避免 xss..that's all.

用php做**,比如,使用者登入驗證需要寫兩個嗎?即客戶端驗證(用js寫),另乙個是伺服器端驗證(用

5樓:三過其門兒不入

你不寫驗證都可以。

寫驗證是為了防止使用者攻擊**,或者往資料庫裡存入一些垃圾資料。

一般都會寫客戶端驗證,客戶端驗證一般都用js寫,js本地跑,不影響伺服器效能。

寫服務端驗證是為了防止使用者跳過客戶端驗證(比如直接發請求,不經過頁面的js**)從而攻擊或者非法操作。

**最重要的就是資料了,你想,如果你不做驗證,稍微會些**的人直接通過請求就可以把你資料庫給拷下來。那還玩毛啊。

thinkphp 從資料庫驗證使用者名稱和密碼的**,能防止sql注入,,,一般咋麼寫的啊?高分,

6樓:風清雨柔

即便使用者輸入了一些惡意的id引數,系統也會強制轉換成整型,避免惡意注入。這是因為,系統會對資料進行強制的資料型別檢測,並且對資料**進行資料格式轉換。而且,對於字串型別的資料,thinkphp都會進行escape_string處理(real_escape_string,mysql_escape_string)。

而且,你在驗證的時候儘量使用陣列查詢,這樣會比較安全,比如:

map['username']=i('');

map['userpassword']=i('');

list=$data=d("user")->where($map)->find();

這樣就好了。

乙個php站,如果不對使用者輸入過濾,將有哪些具體形式的風險

7樓:莫路草根

別有用心的人會將木馬從輸入的地方植入你的伺服器, 從而竊取你伺服器的資訊。

8樓:匿名使用者

最普遍的是xss攻擊,例如在一些能輸入文字的地方,輸入一些js**,提交後會執行這些js**,對**造成破壞,可以用specialhtmlchars()函式,轉化特殊字元,即使輸入了js,也會被原樣輸出出來。

csrf攻擊,是另一種常見的攻擊。攻擊者通過各種方法偽造乙個請求,模仿使用者提交表單的行為,從而達到修改使用者的資料,或者執行特定任務的目的。所以建議**提交的時候,儘量用post方法提交,而不用get方法提交,這樣相對來說更安全。

上傳檔案攻擊,有點時候可能會上傳字尾為。exe或者。js的檔案,我們需要在上傳檔案的類中進行判斷,只能上傳規定字尾的檔案。

重定向攻擊 這個一般出現在釣魚**,就是發給你個連線,點選後重定向到釣魚**,解決方案是重定向token,在合法的url上加上token,重定向時進行驗證。

通過查詢字串共計,當跳轉網頁的時候,我們有時候會用 $_get 傳遞一下引數,有的時候會導致網頁報錯,我們需要接get的引數是,多加判斷,例如intval isset empt等等。

有些攻擊對於專業的黑客來說,我們可能是沒法避免的,但是儘量在編寫程式的時候做到細心,每個從客戶端接到的變數,都加一層判斷,可以提高**的安全性。

希望對你有幫助。

php不用驗證碼怎麼防止暴力破解

9樓:清友靈

貌似session客戶端是不能禁止的吧。cookie貌似是可以禁止的,如果不想用cookie那就採用資料庫或者文字臨時檔案進行驗證,使用過後刪除相應資料就可以了。

10樓:網友

用的cookis,每次登入都記錄一下登入失敗的次數,當超過次數後,禁止登入多長時間。

這個很簡單。

11樓:網友

用加密函式,把你的每乙個字元都md5加密。

php**要防哪幾種常見方式攻擊?

12樓:網友

常見攻擊方式:1、命令注入,2、eval注入,3、客戶端指令碼攻擊,4、跨**指令碼攻擊,5、sql注入攻擊,6、跨**請求偽造攻擊,7、session 會話劫持,8、session 固定攻擊,9、http響應拆分攻擊,10、檔案上傳漏洞,11、目錄穿越漏洞,12、遠端檔案包含攻擊,13、動態函式注入攻擊,14、url攻擊,15、表單提交欺騙攻擊,16、http請求欺騙攻擊。

如何實現php的安全最大化?怎樣避免sql注入漏洞和xss跨站指令碼攻擊漏洞

13樓:我愛英永遠

提交的引數**都給過濾掉!

什麼是手機新聞客戶端,手機新聞客戶端哪個最好?

手機上可以看新聞,例如手機聊天客戶端就是用來聊天的 就是把某個門戶 的新聞整合到一起,成為客戶端的形式,從而區別與一般的網頁新聞。手機新聞客戶端哪個最好?50 各有各的優勢,主要看題主比較關注哪一方面的新聞,娛樂 汽車 生活 軍事 國內新聞 國際新聞?以上,僅供參考。演員 配音 徐濤曹操,字孟德,一...

什麼是pc客戶端,電腦上什麼是客戶端?這是什麼意思?

pc客戶端就是指在電腦上使用的客戶端,也就是說在電腦上使用安裝的軟體。pc終端是pc電腦的精簡版,它的配置相對比較低,安裝的windows作業系統也是windows的精簡版 注 不是我們網上說的那種ghost版,比那個還要精簡 電腦上的客戶端 就是你使用程式的軟體 就是電腦客戶端,是客戶在電腦上使用...

ipad上bilibili客戶端怎麼設定關注的人開始直播了就推送

嗶哩嗶哩ipad客戶端好像不能從up主進入直播,只能從直播區進 bilibili怎麼才能關注的人直播時有提醒 點我的的關注可以看到開播提醒 b站怎麼設定已經關注的主播的直播提醒?手機客戶端 設定 第三區塊 推送與資訊 關注主播開播提醒 沒有提醒一般都是自己去看 點到動態那,一直下拉重新整理,你的主播...