php网页病毒清除类

这篇文章主要介绍了php网页病毒清除类,可实现针对网页病毒的简单清理功能,是非常实用的技巧,需要的朋友可以参考下

本文实例讲述了php网页病毒清除类。分享给大家供大家参考。具体如下:

相信很多人的网页经常被无故的在php,asp,html,js 等文件后台加上一些木马地址,造成了很大的困扰!我以前有个站就是这样,所以一恨之下写了这段代码,文章虽然有一点浪费资源了,但是总比我们手动清除要好吧,下面我为讲讲程序的清除病毒的原理吧.

首先们要读取 $checkFile 文件这个文章是判断一个文章 是否被感染了,如果是就会执行$savafile变量里面的txt文件路径的所有文件,进行按你infecFile病毒列表清除一次.

代码如下:

  1. <?php
  2. Class clear_virus{
  3. //public $content;
  4. public $infectFile ='virus.txt';//病毒文件列表文件
  5. public $savefile ="save.txt";//所在查看病毒的文件列表
  6. public $timep ='time.txt';//些记录清除病毒时间
  7. public $checkFile ='e.php';//这里是设置
  8. public $run =0;
  9. public $virus_type;
  10. public $replace ;
  11. public $filepath ;
  12. public $tag =0;
  13. function open_file(){
  14. $this->read_virus();
  15. $this->check_File();
  16. if($this->run){
  17. $this->update_time();
  18. $this->read_file() ;
  19. foreach($this->filepath as $tmppath){
  20. if(file_exists($tmppath)){
  21. $tmp_file =file_get_contents($tmppath);
  22. print_r( $this->virus_type);
  23. for( $i=0;$i<sizeof($this->virus_type);$i++ ){
  24. if( strrpos($tmp_file,$this->virus_type[$i])!== false){
  25. $tmp_file =str_replace($this->virus_type[$i],'',$tmp_file);
  26. $this->tag =1;
  27. }
  28. }
  29. if( $this->tag ){
  30. $handle =fopen($tmppath,'w');
  31. fwrite($handle,$tmp_file);
  32. fclose($handle);
  33. unset($tmp_file);
  34. }
  35. }else{
  36. ;
  37. }
  38. }
  39. }
  40. }
  41. function check_File(){
  42. if(file_exists($this->checkFile) ){
  43. $temp =file_get_contents($this->checkFile) ;
  44. echo $temp;
  45. foreach( $this->virus_type as $v_tmp ){
  46. if( strrpos($temp,$v_tmp)!== false ){
  47. $this->run =1;
  48. break;
  49. }
  50. }
  51. echo $this->run;
  52. unset($temp);
  53. }else{
  54. $this->show_error(5);
  55. }
  56. }
  57. function update_time(){
  58. if(file_exists($this->timep) ){
  59. $tmp_time =date("Y-m-d H:i:s").chr(13).'|';
  60. $tmp_fp =fopen($this->timep,'a+');
  61. fwrite($tmp_fp,$tmp_time);
  62. fclose($tmp_fp);
  63. }
  64. }
  65. function read_File(){
  66. if(file_exists($this->savefile) ){
  67. $this->content =file($this->savefile);
  68. if(is_array($this->content)){
  69. $this->filepath =$this->content;
  70. }else{
  71. $this->show_error(3);
  72. }
  73. }else{
  74. $this->show_error(4);
  75. }
  76. }
  77. function read_virus(){
  78. if(file_exists($this->infectFile) ){
  79. $this->replace =file($this->infectFile);
  80. if(is_array($this->replace)){
  81. $this->virus_type=$this->replace;
  82. }else{
  83. $this->show_error(1);
  84. }
  85. }else{
  86. $this->show_error(2);
  87. }
  88. }
  89. function show_error($number){
  90. $array = array(
  91. '1'=>'病毒文件未不能读取!',
  92. '2'=>'病毒文件列表不存在!',
  93. '3'=>'文件列表不存了',
  94. '4'=>'查杀的文件不存',
  95. '5'=>$this->$checkFile.'不存在了,请设置病毒感染文件'
  96. );
  97. echo $array[$number];
  98. }
  99. }
  100. $virus =new clear_virus;
  101. $virus->open_file();
  102. ?>

希望本文所述对大家的PHP程序设计有所帮助。