2011-09-07 6 views
1

내 서버에 심한 JavaScript iframe 바이러스가 발생했습니다. 트로이 목마는 모든 index.php, index.html, & login.php 파일에 자신을 삽입합니다. 바이러스가 보이는 것 <script>VirusCodeCrap</script>PHP : str_replace를 사용하는 방법?

어쨌든 나는 PHP의 str_replace 함수를 사용하여 내 서버를 검색하고 바이러스를 삭제할 수 있습니까? 누구든지이 작업을 수행하는 방법에 대한 몇 가지 예를 찾을 수 있습니다.

감사합니다,

알버트는 유닉스 서버에있는 경우

+0

죄송합니다. VirusCodeCrap 주위에 자바 스크립트 기호가 있지만 게시 할 때 꺼내졌습니다. –

+1

귀하의 질문에 제목이 잘 붙지 않았습니다 - 태그 안의 코드가 다를 경우'str_replace'가 해결책이되지 않을 수도 있습니다. 왜 "많은 파일에서 바이러스를 검색하고 바꿀 수있는 것"이라고 부르지 않습니까? –

+0

현재 파일을 고치기보다는 바이러스 자체를 제거해야합니다. – Sarfraz

답변

1

sed 찾아 파일에 텍스트를 대체 할 수있는 가장 좋은 방법입니다. 당신이 PHP를 사용해야하는 경우

, 알고리즘은 다음과 같습니다하여 잘못된 문자열을 대체하기위한

  1. file_get_contents()

    $file_contents = file_get_contents($filename);

  2. 검색을 사용하여 변수로 파일을 읽어

    $file_contents = str_replace($the_offending_text, $the_replacement_text, $file_contents);

  3. file_put_contents을 사용하여 파일을 다시 $file_contents 쓰기 : 문자열이 정확하게 모든 경우에 동일하지 않은 경우

    file_put_contents($file_contents);

str_replace()

이 불충분 할 수있다. 문제가되는 문자열에 변형이있는 경우 정규 표현식을 사용하여 해당 문자열을 찾아서 제거해야 할 수 있습니다.

0

나는 즉시 서버에서 모든 파일을 삭제하고 코드 저장소가있는 모든 곳에서 깨끗한 복사본을 다시 업로드합니다. 나는 또한 코드가 악용 된 곳을 찾고 보안 구멍을 패치 할 것입니다.

파일을 바이러스로 편집하여 계속 진행하는 것은 파일 백업 (라이브 서버에 없었 음)을 할 때 길고 어려운 방법으로 보입니다.

관련 문제