2017-06-20 26 views
3

我的網站被黑,並在php文件的每一第一行刪除特定行,我有一行:從PHP文件

<?php $knitglx = '<%G]y6d]281Ld]245]K2 ... $knitglx=$fmfqhx-1; ?><?php(這是很長)。由於我使用的是wordpress,因此有數百萬個文件,不可能一一打開並刪除這一行。有沒有辦法一次刪除它們?

我讀了一些關於sed函數,但我不知道如何使用它,並經過一些討論後,我知道這不會解決我的問題,所以現在我正在尋找一種方式如何掃描並從我的文件中刪除病毒。任何幫助都可以。

+0

關閉我的頭頂:'find。 -type f -name「* .php」-exec sed -i'<?php \ $ knitglx。* $/d'{} \;' – Lando

+0

[在目錄和子目錄中查找並替換爲sed] https://stackoverflow.com/questions/6758963/find-and-replace-with-sed-in-directory-and-sub-directories) –

+0

從備份或以前的git提交恢復。您無法確定這是一百萬個文件中唯一的變化。 – mkaatman

回答

2

如果你的網站被黑客攻擊了你,真的不應該試圖清理它們注入的源代碼!。您很可能會遺忘某些內容,並且可能會向您的WordPress網站的訪問者傳播惡意軟件或其他內容。還要弄清楚爲什麼你被黑客攻破並修復這個洞。

確保從服務器中刪除所有文件並更改所有密碼(FTP,WordPress等)。

這裏是你可以做什麼:

1)請聯繫您的供應商,並要求他們安裝最新的清潔備份

2)設置你自己最新的清潔備份

3)如果你真的沒有備份(這是非常糟糕的)請執行以下操作:

  • 重新安裝WordPress。
  • 下載您的wp-content文件夾,檢查這對任何惡意代碼
  • 下載數據庫並檢查是否有惡意代碼
  • 地方乾淨的代碼/數據庫到WordPress安裝

簡單刪除每個文件的第一行很可能是不夠的。不過也有解決這個:

Batch file to delete first 3 lines of a text file

Delete certain lines in a txt file via a batch file

注:有了這樣的Netbeans或的IntelliJ一個IDE你可以做一個搜索/上的PHP文件數量龐大的替換。如果第三步是唯一的選擇,這也可能有所幫助。

第三種可能性不好,因爲這意味着很多工作......祝你好運!

+0

如果我現在做備份,然後安裝新的wordpress和恢復,然後掃描它,看看有什麼損壞的文件,這將有助於並縮小感染文件的數量? –

+0

你不能丟失wp-content目錄之外的任何文件,因此你應該明確地縮小到這個範圍。如果您不使用自定義主題,也可以用乾淨的主題替換/ wp-content/themes /中的文件。 但是,檢查感染的所有上傳(圖像等)也很重要,這並不容易。也許一個反病毒掃描程序可以提供幫助。 – Blackbam

+0

還有一件事。我正在使用一些老版本的wordpress。如果我下載最新的並插入它,一切都會好嗎? –