Tên tài khoản hoặc địa chỉ email:
Bạn đã có tài khoản?
Bạn đã quên mật khẩu?
  • Đăng nhập hoặc đăng ký

    Cảm ơn bạn đã ghé thăm, nếu bạn đọc được dòng chữ này có nghĩa là bạn chưa đăng ký. Vui lòng bấm vào đây để đăng kí tài khoản mới. Chúc bạn có những phút giây thật vui vẻ và thoải mái!
    Đang tải dữ liệu..
    Kết quả 1 đến 5 của 5
    1. #1
      Ngày tham gia
      Dec 2017
      Bài viết
      24
      Tài sản
      288.22
      Cám ơn
      6
      Được cám ơn
      9 lần trong 8 bài viết

      Code PHP hạn chế tấn công DDOS

      Một bạn trong diễn đàn(là mình) nhờ nên mình viết luôn một bài để ai cần vào tham khảo. Nói trước là code hoàn toàn tách từ JohnCMS không thêm bất cứ dòng code nào (căn bản nó khá hoàn chỉnh xét theo kiểu chống đơn giản ) nên nếu ai vọc JohnCMS nhiều sẽ thấy quen. Bạn nào không dùng JohnCMS có thể tham khảo hoặc copy, còn ai đang dùng thì ngồi xem, tìm hiểu code

      Code: Code PHP hạn chế ảnh hưởng của tấn công ddos tách từ JohnCMS.

      Code PHP hạn chế tấn công DDOS

      Hướng dẫn:
      - Tạo file core.php
      - Dán code dưới vào. Lưu lại.
      - Tạo đường dẫn: root\files\system\cache\ip_flood.dat. ip_flood.dat là file nhé.
      - Thêm require_once('core.php'); vào tất cả các file để hạn chế ảnh hưởng do ddos :lol:

      CODE
      <?php
      error_reporting(E_ALL ^ E_WARNING);
      define('ROOTPATH', dirname(__FILE__) . DIRECTORY_SEPARATOR);
      class core
      {
          public static $ip; // Biến địa chỉ IP
          public static $ip_via_proxy = 0; // Biến địa chỉ IP tĩnh
          public static $ip_count = array(); // Đếm số địa chỉ IP
          
          private $flood_chk = 1; // Enabling - Disabling IP in flood
          private $flood_interval = '60'; // The time interval in seconds
          private $flood_limit = '120'; // The number of requests allowed per interval
      
          function __construct()
          {
              $ip = ip2long($_SERVER['REMOTE_ADDR']) or die('Invalid IP');
              self::$ip = sprintf("%u", $ip);
      
              if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $vars)) {
                  foreach ($vars[0] AS $var) {
                      $ip_via_proxy = ip2long($var);
                      if ($ip_via_proxy && $ip_via_proxy != $ip && !preg_match('#^(10|172\.16|192\.168)\.#', $var)) {
                          self::$ip_via_proxy = sprintf("%u", $ip_via_proxy);
                          break;
                      }
                  }
              }
              
              $this->ip_flood();
          }
          
          function ip_flood()
          {
              if ($this->flood_chk) {
                  $file = ROOTPATH . 'files/system/cache/ip_flood.dat';
                  $tmp = array();
                  $requests = 1;
                  if (!file_exists($file)) $in = fopen($file, "w+");
                  else $in = fopen($file, "r+");
                  flock($in, LOCK_EX) or die("Cannot flock ANTIFLOOD file.");
                  $now = time();
                  while ($block = fread($in, 8)) {
                      $arr = unpack("Lip/Ltime", $block);
                      if (($now - $arr['time']) > $this->flood_interval) continue;
                      if ($arr['ip'] == self::$ip) $requests++;
                      $tmp[] = $arr;
                      self::$ip_count[] = $arr['ip'];
                  }
                  fseek($in, 0);
                  ftruncate($in, 0);
                  for ($i = 0; $i < count($tmp); $i++) fwrite($in, pack('LL', $tmp[$i]['ip'], $tmp[$i]['time']));
                  fwrite($in, pack('LL', self::$ip, $now));
                  fclose($in);
                  if ($requests > $this->flood_limit) {
                      die('FLOOD: exceeded limit of allowed requests');
                  }
              }
          }
      }
      new core;
      ?>
      
      Chúc các bạn thành công!
      Nguồn: hanhphucao - PhoNho.Net
      Lần sửa cuối bởi KunCP, ngày 05-01-2018 lúc 11:26 AM.
      Tôi yêu màu đỏ và màu đen

    2. Có 1 thành viên cảm ơn tới KunCP cho bài viết này
      admin (05-01-2018)

    3. #2
      Ngày tham gia
      Oct 2011
      Đang ở
      Yên Bái
      Bài viết
      22,240
      Tài sản
      181,112.60
      Cám ơn
      1,238
      Được cám ơn
      10,897 lần trong 3,492 bài viết

      Re: Code PHP hạn chế tấn công DDOS

      Cảm ơn em nhé!
      Chung tay vì tuoitreit.vn

    4. #3
      Ngày tham gia
      Jul 2013
      Đang ở
      Hành tinh khác
      Bài viết
      231
      Tài sản
      4,937.89
      Cám ơn
      52
      Được cám ơn
      122 lần trong 39 bài viết

      Re: Code PHP hạn chế tấn công DDOS

      Cái này là antiflood hử :3
      一期一会 (ichigo ichie): 1 đời gặp nhau có 1 lần

    5. #4
      Ngày tham gia
      Dec 2017
      Bài viết
      24
      Tài sản
      288.22
      Cám ơn
      6
      Được cám ơn
      9 lần trong 8 bài viết

      Re: Code PHP hạn chế tấn công DDOS

      Trích dẫn Gửi bởi khanhsak3r Xem bài viết
      Cái này là antiflood hử :3
      Ukm, trong JohnCMS á
      Tôi yêu màu đỏ và màu đen

    6. #5
      Ngày tham gia
      Oct 2011
      Đang ở
      Yên Bái
      Bài viết
      22,240
      Tài sản
      181,112.60
      Cám ơn
      1,238
      Được cám ơn
      10,897 lần trong 3,492 bài viết

      Re: Code PHP hạn chế tấn công DDOS

      Trích dẫn Gửi bởi KunCP Xem bài viết
      Ukm, trong JohnCMS á
      Ngoài ra em có thể kết hợp sử dụng dpn firewall và .htaccess nhé
      Chủ đề tương tự anh có share đó
      Chung tay vì tuoitreit.vn

    Bình luận Facebook

    Thông tin về chủ đề này

    Thành viên đang duyệt chủ đề này

    Hiện có 1 người đang đọc chủ đề này.
    (0 thành viên và 1 khách)

    Các chủ đề tương tự

    1. [Share] Code Chống DDos anti DDoS cho wap
      Bởi Tuzoro trong diễn đàn Mã nguồn wap
      Trả lời: 1
      Bài viết cuối: 03-06-2014, 04:27 PM
    2. [Share] code chống ddos hiệu quả
      Bởi 2idol trong diễn đàn Tut, tool, mmo
      Trả lời: 3
      Bài viết cuối: 16-11-2012, 09:42 PM
    3. [Hỏi] Host TTVN share đang bị ddos làm ntn để chống ddos giờ anh em?
      Bởi laivung trong diễn đàn Chống local, attack, symlink, ddos
      Trả lời: 10
      Bài viết cuối: 01-11-2012, 08:53 AM
    4. [Hỏi] Host TTVN share đang bị ddos làm ntn để chống ddos giờ anh em?
      Bởi laivung trong diễn đàn Hosting & Domain Share
      Trả lời: 2
      Bài viết cuối: 30-10-2012, 11:46 AM
    5. Share code chống ddos cho anh em
      Bởi admin trong diễn đàn Bảo mật
      Trả lời: 0
      Bài viết cuối: 24-05-2012, 02:20 PM

    Từ khóa của chủ đề này