เจเฉฐเจเจพ เจฆเจฟเจจ! เจฒเฉเจ เจตเจฟเจ เจฎเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจฆเฉฑเจธเจพเจเจเจพ เจเจฟ เจจเจฟเจฏเจฎเจค เจนเฉเจธเจเจฟเฉฐเจ เจฆเฉ เจเจชเจญเฉเจเจคเจพ IP เจเจกเจฐเฉเฉฑเจธ เจเจฟเจตเฉเจ เจซเฉ เจธเจเจฆเฉ เจนเจจ เจเฉ เจธเจพเจเจ 'เจคเฉ เจฌเจนเฉเจค เจเจผเจฟเจเจฆเจพ เจฒเฉเจก เจชเฉเจฆเจพ เจเจฐเจฆเฉ เจนเจจ เจ
เจคเฉ เจซเจฟเจฐ เจเจจเฉเจนเจพเจ เจจเฉเฉฐ เจนเฉเจธเจเจฟเฉฐเจ เจเฉเจฒเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจฌเจฒเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเจจ, php เจเฉเจก เจฆเจพ "เจฅเฉเฉเจพ เจเจฟเจนเจพ" เจนเฉเจตเฉเจเจพ, เจเฉเจ เจธเจเฉเจฐเฉเจจเจธเจผเฉเจเจธ.
เจเจจเจชเฉเจ เจกเฉเจเจพ:
- CMS เจตเจฐเจกเจชเจฐเฉเจธ 'เจคเฉ เจฌเจฃเจพเจ เจเจ เจตเฉเฉฑเจฌเจธเจพเจเจ
- เจนเฉเจธเจเจฟเฉฐเจ เจฌเฉเจเฉเจ (เจเจน เจเฉเจ เจเจธเจผเจคเจฟเจนเจพเจฐ เจจเจนเฉเจ เจนเฉ, เจชเจฐ เจเจกเจฎเจฟเจจ เจชเฉเจจเจฒ เจฆเฉ เจธเจเฉเจฐเฉเจจเจธเจผเจพเจ เจเจธ เจเจพเจธ เจนเฉเจธเจเจฟเฉฐเจ เจชเฉเจฐเจฆเจพเจคเจพ เจคเฉเจ เจนเฉเจฃเจเฉ)
- เจตเจฐเจกเจชเจฐเฉเจธ เจธเจพเจเจ เจจเฉเฉฐ 2000 เจฆเฉ เจธเจผเฉเจฐเฉ เจตเจฟเฉฑเจ เจเจฟเจคเฉ เจฒเจพเจเจ เจเฉเจคเจพ เจเจฟเจ เจธเฉ เจ เจคเฉ เจเจธ เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจฒเฉเจ เจ เจคเฉ เจธเจฎเฉฑเจเจฐเฉ เจนเจจ
- PHP เจธเฉฐเจธเจเจฐเจฃ 7.2
- WP เจฆเจพ เจจเจตเฉเจจเจคเจฎ เจธเฉฐเจธเจเจฐเจฃ เจนเฉ
- เจนเฉเจฃ เจเฉเจ เจธเจฎเฉเจ เจฒเจ, เจธเจพเจเจ เจจเฉ เจนเฉเจธเจเจฟเฉฐเจ เจกเฉเจเจพ เจฆเฉ เจ เจจเฉเจธเจพเจฐ MySQL 'เจคเฉ เจเฉฑเจ เจเฉฑเจ เจฒเฉเจก เจชเฉเจฆเจพ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐ เจฆเจฟเฉฑเจคเจพ เจนเฉ. เจนเจฐ เจฆเจฟเจจ เจเจน เจฎเฉเฉฑเจฒ เจชเฉเจฐเจคเฉ เจเจพเจคเฉ เจฆเฉ เจเจฆเจฐเจธเจผ เจฆเฉ 120% เจคเฉเจ เจตเฉฑเจง เจเจฟเจ
- Yandex เจฆเฉ เจ เจจเฉเจธเจพเจฐ. เจฎเฉเจเฉเจฐเจฟเจเจพ เจธเจพเจเจ เจชเฉเจฐเจคเฉ เจฆเจฟเจจ 100-200 เจฒเฉเจเจพเจ เจฆเฉเจเจฐเจพ เจตเจฟเจเจผเจฟเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ
เจธเจญ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจเจน เจเฉเจคเจพ เจเจฟเจ เจธเฉ:
- เจกเจพเจเจพเจฌเฉเจธ เจเฉเจฌเจฒ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเฉเฉเจพ เจธเจพเจซเจผ เจเฉเจคเจพ เจเจฟเจ เจธเฉ
- เจฌเฉเจฒเฉเฉเฉ เจชเจฒเฉฑเจเจเจจ เจ เจธเจฎเจฐเฉฑเจฅ เจเฉเจคเฉ เจเจ เจธเจจ, เจชเฉเจฐเจพเจฃเฉ เจเฉเจก เจฆเฉ เจญเจพเจเจพเจ เจจเฉเฉฐ เจนเจเจพ เจฆเจฟเฉฑเจคเจพ เจเจฟเจ เจธเฉ
เจเจธเฉ เจธเจฎเฉเจ, เจฎเฉเจ เจเจธ เจคเฉฑเจฅ เจตเฉฑเจฒ เจคเฉเจนเจพเจกเจพ เจงเจฟเจเจจ เจเจฟเฉฑเจเจฃเจพ เจเจพเจนเจพเจเจเจพ เจเจฟ เจเฉเจเจฟเฉฐเจ เจตเจฟเจเจฒเจช (เจเฉเจเจฟเฉฐเจ เจชเจฒเฉฑเจเจเจจ) เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเฉเจคเฉ เจเจ เจธเฉ, เจจเจฟเจฐเฉเจเจฃ เจเฉเจคเฉ เจเจ เจธเจจ - เจชเจฐ เจเฉฑเจ เจธเจพเจเจ เจคเฉเจ 120% เจฆเจพ เจฒเฉเจก เจฌเจฆเจฒเจฟเจ เจจเจนเฉเจ เจธเฉ เจ เจคเฉ เจธเจฟเจฐเจซ เจตเจง เจธเจเจฆเจพ เจธเฉ.
เจนเฉเจธเจเจฟเฉฐเจ เจกเฉเจเจพเจฌเฉเจธ 'เจคเฉ เจ เฉฐเจฆเจพเจเจผเจจ เจฒเฉเจก เจเจฟเจนเฉ เจเจฟเจนเจพ เจฒเฉฑเจเจฆเจพ เจธเฉ
เจธเจฟเจเจฐ 'เจคเฉ เจธเจตเจพเจฒ เจตเจฟเฉฑเจ เจธเจพเจเจ เจนเฉ, เจฌเจฟเจฒเจเฉเจฒ เจนเฉเจ เจพเจ เจนเฉเจฐ เจธเจพเจเจเจพเจ เจนเจจ เจเจฟเจจเฉเจนเจพเจ เจเฉเจฒ เจเฉฑเจเฉ เจเจฟเจนเฉ cm เจ
เจคเฉ เจฒเจเจญเจ เจเฉฑเจเฉ เจเฉเจฐเฉเจซเจฟเจ เจนเจจ, เจชเจฐ เจเฉฑเจ เจฒเฉเจก เจฌเจฃเจพเจเจเจฆเฉ เจนเจจเฅค
เจเจจเจพเจฒเจเจผ
- เจกเฉเจเจพ เจเฉเจเจฟเฉฐเจ เจตเจฟเจเจฒเจชเจพเจ เจฆเฉ เจจเจพเจฒ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจเฉเจธเจผเจฟเจธเจผเจพเจ เจเฉเจคเฉเจเจ เจเจเจเจ เจธเจจ, เจเจ เจนเจซเจผเจคเจฟเจเจ เจตเจฟเฉฑเจ เจจเจฟเจฐเฉเจเจฃ เจเฉเจคเฉ เจเจ เจธเจจ (เจเฉเจธเจผเจเจฟเจธเจฎเจคเฉ เจจเจพเจฒ, เจเจธ เจธเจฎเฉเจ เจฆเฉเจฐเจพเจจ เจนเฉเจธเจเจฟเฉฐเจ เจจเฉ เจฎเฉเจจเฉเฉฐ เจเจฆเฉ เจจเจนเฉเจ เจฒเจฟเจเจฟเจ เจเจฟ เจฎเฉเจ เจเฉฐเจจเจพ เจฌเฉเจฐเจพ เจธเฉ เจ เจคเฉ เจกเจฟเจธเจเจจเฉเจเจ เจนเฉ เจเจพเจตเฉเจเจพ)
- เจนเฉเจฒเฉ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจฒเจ เจเฉฑเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจ เจคเฉ เจเฉเจ เจธเฉ, เจซเจฟเจฐ เจกเฉเจเจพเจฌเฉเจธ เจฌเจฃเจคเจฐ เจ เจคเฉ เจธเจพเจฐเจฃเฉ เจฆเฉ เจเจฟเจธเจฎ เจจเฉเฉฐ เจฅเฉเฉเฉเจนเจพ เจฌเจฆเจฒเจฟเจ เจเจฟเจ เจธเฉ
- เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฒเจ, เจ เจธเฉเจ เจฎเฉเฉฑเจ เจคเฉเจฐ 'เจคเฉ เจฌเจฟเจฒเจ-เจเจจ AWStats เจฆเฉ เจตเจฐเจคเฉเจ เจเฉเจคเฉ (เจเจธเฉ เจคเจฐเฉเจนเจพเจ, เจเจธเจจเฉ เจเฉเจฐเฉเจซเจฟเจ เจตเจพเจฒเฉเจ เจฎ เจฆเฉ เจ เจงเจพเจฐ เจคเฉ เจธเจญ เจคเฉเจ เจฎเจพเฉเฉ IP เจชเจคเฉ เจฆเฉ เจเจฃเจจเจพ เจเจฐเจจ เจตเจฟเฉฑเจ เจฎเจฆเจฆ เจเฉเจคเฉ
- เจฎเฉเจเฉเจฐเจฟเจ - เจฎเฉเจเฉเจฐเจฟเจ เจธเจฟเจฐเจซ เจฒเฉเจเจพเจ เจฌเจพเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเจพ เจนเฉ, เจฌเฉเจเจพเจ เจฌเจพเจฐเฉ เจจเจนเฉเจ
- WP เจฒเจ เจชเจฒเฉฑเจเจเจจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉเจเจ เจเฉเจธเจผเจฟเจธเจผเจพเจ เจเฉเจคเฉเจเจ เจเจเจเจ เจนเจจ เจเฉ เจธเจฅเจพเจจ เจฆเฉ เจฆเฉเจธเจผ เจ เจคเฉ เจตเฉฑเจ-เจตเฉฑเจ เจธเฉฐเจเฉเจเจพเจ เจฆเฉเจเจฐเจพ เจตเจฟเจเจผเจฟเจเจฐเจพเจ เจจเฉเฉฐ เจซเจฟเจฒเจเจฐ เจ เจคเฉ เจฌเจฒเจพเจ เจเจฐ เจธเจเจฆเฉเจเจ เจนเจจ
- "เจ เจธเฉเจ เจฆเฉเจเจญเจพเจฒ เจ เจงเฉเจจ เจนเจพเจ" เจจเฉเจ เจฆเฉ เจจเจพเจฒ เจธเจพเจเจ เจจเฉเฉฐ เจเฉฑเจ เจฆเจฟเจจ เจฒเจ เจฌเฉฐเจฆ เจเจฐเจจ เจฆเจพ เจเฉฑเจ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจจเจพเจฒ เจเฉฑเจเฉเจชเฉฐเจฅเฉ เจคเจฐเฉเจเจพ เจจเจฟเจเจฒเจฟเจ - เจเจน เจฎเจธเจผเจนเฉเจฐ เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจตเฉ เจเฉเจคเจพ เจเจฟเจ เจธเฉเฅค เจเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจฒเฉเจก เจฆเฉ เจเจเจฃ เจฆเฉ เจเจฎเฉเจฆ เจเจฐเจฆเฉ เจนเจพเจ, เจชเจฐ เจเจผเฉเจฐเฉ เจฎเฉเฉฑเจฒเจพเจ เจคเฉฑเจ เจจเจนเฉเจ, เจเจฟเจเจเจเจฟ WP เจตเจฟเจเจพเจฐเจงเจพเจฐเจพ เจนเฉเฉฑเจเจพเจ 'เจคเฉ เจ เจงเจพเจฐเจค เจนเฉ เจ เจคเฉ เจชเจฒเฉฑเจเจเจจ เจเจชเจฃเฉ เจเจคเฉเจตเจฟเจงเฉ เจธเจผเฉเจฐเฉ เจเจฐเจฆเฉ เจนเจจ เจเจฆเฉเจ เจเฉฑเจ "เจนเฉเฉฑเจ" เจนเฉเฉฐเจฆเจพ เจนเฉ, เจ เจคเฉ "เจนเฉเฉฑเจ" เจนเฉเจฃ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจกเฉเจเจพเจฌเฉเจธ เจจเฉเฉฐ เจฌเฉเจจเจคเฉเจเจ เจเจฐ เจธเจเจฆเฉเจเจ เจนเจจเฅค เจชเจนเจฟเจฒเจพเจ เจนเฉ เจฌเจฃเจพเจเจ เจเจพเจตเฉ
เจเจเจกเฉเจ
- IP เจชเจคเจฟเจเจ เจฆเฉ เจเจฃเจจเจพ เจเจฐเฉ เจเฉ เจฅเฉเฉเฉ เจธเจฎเฉเจ เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจฌเฉเจจเจคเฉเจเจ เจเจฐเจฆเฉ เจนเจจเฅค
- เจธเจพเจเจ 'เจคเฉ เจนเจฟเฉฑเจ เจฆเฉ เจเจฟเจฃเจคเฉ เจจเฉเฉฐ เจฐเจฟเจเจพเจฐเจก เจเจฐเฉ
- เจนเจฟเฉฑเจ เจฆเฉ เจเจฟเจฃเจคเฉ เจฆเฉ เจเจงเจพเจฐ 'เจคเฉ เจธเจพเจเจ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจจเฉเฉฐ เจฌเจฒเฉเจ เจเจฐเฉ
- .htaccess เจซเจพเจเจฒ เจตเจฟเฉฑเจ "เจเจธ เจคเฉเจ เจเจจเจเจพเจฐ เจเจฐเฉ" เจเจเจเจฐเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจฌเจฒเฉเจ เจเจฐเฉ
- เจฎเฉเจ เจนเฉเจฐ เจตเจฟเจเจฒเจชเจพเจ 'เจคเฉ เจตเจฟเจเจพเจฐ เจจเจนเฉเจ เจเฉเจคเจพ, เจเจฟเจตเฉเจ เจเจฟ iptables เจ เจคเฉ Nginx เจฒเจ เจจเจฟเจฏเจฎ, เจเจฟเจเจเจเจฟ เจฎเฉเจ เจนเฉเจธเจเจฟเฉฐเจ เจฌเจพเจฐเฉ เจฒเจฟเจ เจฐเจฟเจนเจพ เจนเจพเจ
เจเฉฑเจ เจตเจฟเจเจพเจฐ เจชเฉเจฐเจเจ เจนเฉเจเจ เจนเฉ, เจเจธ เจฒเจ เจเจธเจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ, เจเจฟเจตเฉเจ เจเจฟ เจเจธ เจคเฉเจ เจฌเจฟเจจเจพเจ ...
- เจกเจพเจเจพ เจเจเฉฑเจ เจพ เจเจฐเจจ เจฒเจ เจเฉเจฌเจฒ เจฌเจฃเจพเจเจฃเจพ
CREATE TABLE `wp_visiters_bot` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `ip` VARCHAR(300) NULL DEFAULT NULL, `browser` VARCHAR(500) NULL DEFAULT NULL, `cnt` INT(11) NULL DEFAULT NULL, `request` TEXT NULL, `input` TEXT NULL, `data_update` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE INDEX `ip` (`ip`) ) COMMENT='ะะฐะฝะดะธะดะฐัั ะดะปั ะฑะปะพะบะธัะพะฒะบะธ' COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1;
CREATE TABLE `wp_visiters_bot_blocked` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `ip` VARCHAR(300) NOT NULL, `data_update` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE INDEX `ip` (`ip`) ) COMMENT='ะกะฟะธัะพะบ ัะถะต ะทะฐะฑะปะพะบะธัะพะฒะฐะฝะฝัั ' COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=59;
CREATE TABLE `wp_visiters_bot_history` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `ip` VARCHAR(300) NULL DEFAULT NULL, `browser` VARCHAR(500) NULL DEFAULT NULL, `cnt` INT(11) NULL DEFAULT NULL, `data_update` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `data_add` DATETIME NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE INDEX `ip` (`ip`) ) COMMENT='ะััะพัะธั ะฒัะตั ะทะฐะฟัะพัะพะฒ ะดะปั ะดะตะฑะฐะณะฐ' COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1;
- เจเจ เจเฉฑเจ เจซเจพเจเจฒ เจฌเจฃเจพเจเจ เจเจฟเจธ เจตเจฟเฉฑเจ เจ
เจธเฉเจ เจเฉเจก เจฐเฉฑเจเจพเจเจเฉเฅค เจเฉเจก เจฌเจฒเจพเจเจฟเฉฐเจ เจเจฎเฉเจฆเจตเจพเจฐ เจเฉเจฌเจฒ เจตเจฟเฉฑเจ เจฐเจฟเจเจพเจฐเจก เจเจฐเฉเจเจพ เจ
เจคเฉ เจกเฉเจฌเฉฑเจเจฟเฉฐเจ เจฒเจ เจเฉฑเจ เจเจคเจฟเจนเจพเจธ เจฐเฉฑเจเฉเจเจพเฅค
IP เจชเจคเจฟเจเจ เจจเฉเฉฐ เจฐเจฟเจเจพเจฐเจก เจเจฐเจจ เจฒเจ เจซเจพเจเจฒ เจเฉเจก
<?php if (!defined('ABSPATH')) { return; } global $wpdb; /** * ะะตัะฝัั ะบะพะฝะบัะตัะฝัะน IP ะฐะดัะตั ะฟะพัะตัะธัะตะปั * @return boolean */ function coderun_get_user_ip() { $client_ip = ''; $address_headers = array( 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR', ); foreach ($address_headers as $header) { if (array_key_exists($header, $_SERVER)) { $address_chain = explode(',', $_SERVER[$header]); $client_ip = trim($address_chain[0]); break; } } if (!$client_ip) { return ''; } if ('0.0.0.0' === $client_ip || '::' === $client_ip || $client_ip == 'unknown') { return ''; } return $client_ip; } $ip = esc_sql(coderun_get_user_ip()); // IP ะฐะดัะตั ะฟะพัะตัะธัะตะปั if (empty($ip)) {// ะะตั IP, ะฝั ะธ ะธะดะธัะต ะปะตัะพะผ... header('Content-type: application/json;'); die('Big big bolt....'); } $browser = esc_sql($_SERVER['HTTP_USER_AGENT']); //ะะฐะฝะฝัะต ะดะปั ะฐะฝะฐะปะธะทะฐ ะฑัะฐัะทะตัะฐ $request = esc_sql(wp_json_encode($_REQUEST)); //ะะพัะปะตะดะฝะธะน ะทะฐะฟัะพั ะบะพัะพััะน ะฑัะป ะบ ัะฐะนัั $input = esc_sql(file_get_contents('php://input')); //ะขะตะปะพ ะทะฐะฟัะพัะฐ, ะตัะปะธ ะฑัะปะพ $cnt = 1; //ะะฐะฟัะพั ะฒ ะพัะฝะพะฒะฝัั ัะฐะฑะปะธัั ั ะฒัะตะผะตะฝะฝัะผะธ ะบะพะฝะดะธะดะฐัะฐะผะธ ะฝะฐ ะฑะปะพะบะธัะพะฒะบั $query = <<<EOT INSERT INTO wp_visiters_bot (`ip`,`browser`,`cnt`,`request`,`input`) VALUES ('{$ip}','{$browser}','{$cnt}','{$request}','$input') ON DUPLICATE KEY UPDATE cnt=cnt+1,request=VALUES(request),input=VALUES(input),browser=VALUES(browser) EOT; //ะะฐะฟัะพั ะดะปั ะธััะพัะธะธ $query2 = <<<EOT INSERT INTO wp_visiters_bot_history (`ip`,`browser`,`cnt`) VALUES ('{$ip}','{$browser}','{$cnt}') ON DUPLICATE KEY UPDATE cnt=cnt+1,browser=VALUES(browser) EOT; $wpdb->query($query); $wpdb->query($query2);
เจเฉเจก เจฆเจพ เจธเจพเจฐ เจตเจฟเจเจผเจเจฐ เจฆเจพ IP เจชเจคเจพ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจเฉฑเจ เจธเจพเจฐเจฃเฉ เจตเจฟเฉฑเจ เจฒเจฟเจเจฃเจพ เจนเฉเฅค เจเฉ ip เจชเจนเจฟเจฒเจพเจ เจนเฉ เจธเจพเจฐเจฃเฉ เจตเจฟเฉฑเจ เจนเฉ, เจคเจพเจ cnt เจเฉเจคเจฐ เจตเจงเจพเจเจ เจเจพเจตเฉเจเจพ (เจธเจพเจเจ เจจเฉเฉฐ เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจเจฟเจฃเจคเฉ)
- เจนเฉเจฃ เจกเจฐเจพเจเจฃเฉ เจเฉฑเจฒ ... เจนเฉเจฃ เจเจน เจฎเฉเจจเฉเฉฐ เจฎเฉเจฐเฉ เจเฉฐเจฎเจพเจ เจฒเจ เจธเจพเฉ เจฆเฉเจฃเจเฉ :)
เจธเจพเจเจ เจฒเจ เจนเจฐเฉเจ เจฌเฉเจจเจคเฉ เจจเฉเฉฐ เจฐเจฟเจเจพเจฐเจก เจเจฐเจจ เจฒเจ, เจ เจธเฉเจ เจซเจพเจเจฒ เจเฉเจก เจจเฉเฉฐ เจฎเฉเฉฑเจ เจตเจฐเจกเจชเจฐเฉเจธ เจซเจพเจเจฒ - wp-load.php เจจเจพเจฒ เจเฉเฉเจฆเฉ เจนเจพเจ. เจนเจพเจ, เจ เจธเฉเจ เจเจฐเจจเจฒ เจซเจพเจเจฒ เจจเฉเฉฐ เจฌเจฆเจฒเจฆเฉ เจนเจพเจ เจ เจคเฉ เจธเจนเฉ เจคเฉเจฐ 'เจคเฉ เจเจฒเฉเจฌเจฒ เจตเฉเจฐเฉเจเจฌเจฒ $wpdb เจชเจนเจฟเจฒเจพเจ เจคเฉเจ เจฎเฉเจเฉเจฆ เจนเฉเจฃ เจคเฉเจ เจฌเจพเจ เจฆ
เจเจธ เจฒเจ, เจนเฉเจฃ เจ เจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเจพเจ เจเจฟ เจเจน เจเจพเจ เจเจน IP เจเจกเจฐเฉเฉฑเจธ เจธเจพเจกเฉ เจเฉเจฌเจฒ เจตเจฟเฉฑเจ เจเจฟเฉฐเจจเฉ เจตเจพเจฐ เจฎเจพเจฐเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ เจ เจคเฉ เจเฉฑเจ เจฎเจ เจเฉเจซเฉ เจฆเฉ เจจเจพเจฒ เจ เจธเฉเจ เจคเจธเจตเฉเจฐ เจจเฉเฉฐ เจธเจฎเจเจฃ เจฒเจ เจนเจฐ 5 เจฎเจฟเฉฐเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจตเจพเจฐ เจเฉฑเจฅเฉ เจฆเฉเจเจฆเฉ เจนเจพเจเฅค
เจซเจฟเจฐ เจฌเจธ โเจนเจพเจจเฉเจเจพเจฐเจโ IP เจฆเฉ เจจเจเจฒ เจเจฐเฉ, .htaccess เจซเจพเจเจฒ เจจเฉเฉฐ เจเฉเจฒเฉเจนเฉ เจ
เจคเฉ เจเจธเจจเฉเฉฐ เจซเจพเจเจฒ เจฆเฉ เจ
เฉฐเจค เจตเจฟเฉฑเจ เจเฉเฉเฉเฅค
Order allow,deny
Allow from all
# start_auto_deny_list
Deny from 94.242.55.248
# end_auto_deny_list
เจฌเฉฑเจธ, เจนเฉเจฃ 94.242.55.248 - เจธเจพเจเจ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจจเจนเฉเจ เจนเฉ เจ เจคเฉ เจกเฉเจเจพเจฌเฉเจธ 'เจคเฉ เจฒเฉเจก เจชเฉเจฆเจพ เจจเจนเฉเจ เจเจฐเจฆเจพ เจนเฉ
เจชเจฐ เจนเจฐ เจตเจพเจฐ เจเจธ เจคเจฐเฉเจนเจพเจ เจนเฉฑเจฅเจพเจ เจจเจพเจฒ เจจเจเจฒ เจเจฐเจจเจพ เจเฉเจ เจฌเจนเฉเจค เจงเจฐเจฎเฉ เจเฉฐเจฎ เจจเจนเฉเจ เจนเฉ, เจ เจคเฉ เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเฉเจก เจจเฉเฉฐ เจเฉเจฆเจฎเฉเจเจคเจฟเจเจฐเฉ เจฌเจฃเจพเจเจฃเจพ เจธเฉ
เจเจฒเฉ เจเฉฑเจ เจซเจพเจเจฒ เจเฉเฉเฉเจ เจเฉ CRON เจฆเฉเจเจฐเจพ เจนเจฐ 30 เจฎเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจเจฒเจพเจ เจเจพเจตเฉเจเฉ:
เจซเจพเจเจฒ เจเฉเจก .htaccess เจจเฉเฉฐ เจธเฉเจง เจฐเจฟเจนเจพ เจนเฉ
<?php
/**
* ะคะฐะนะป ะฐะฒัะพะผะฐัะธัะตัะบะพะณะพ ะทะฐะดะฐะฝะธั ะฑะปะพะบะธัะพะฒะพะบ ะฟะพ IP ะฐะดัะตัั
* ะะพะปะถะตะฝ ะทะฐะฟัะฐัะธะฒะฐัััั ัะตัะตะท CRON
*/
if (empty($_REQUEST['key'])) {
die('Hello');
}
require('wp-load.php');
global $wpdb;
$limit_cnt = 70; //ะะธะผะธั ะทะฐะฟัะพัะพะฒ ะฟะพ ะบะพัะพััะผ ะพัะฑะธัะฐัั
$deny_table = $wpdb->get_results("SELECT * FROM wp_visiters_bot WHERE cnt>{$limit_cnt}");
$new_blocked = [];
$exclude_ip = [
'87.236.16.70'//ะฐะดัะตั ั
ะพััะธะฝะณะฐ
];
foreach ($deny_table as $result) {
if (in_array($result->ip, $exclude_ip)) {
continue;
}
$wpdb->insert('wp_visiters_bot_blocked', ['ip' => $result->ip], ['%s']);
}
$deny_table_blocked = $wpdb->get_results("SELECT * FROM wp_visiters_bot_blocked");
foreach ($deny_table_blocked as $blocked) {
$new_blocked[] = $blocked->ip;
}
//ะัะธััะบะฐ ัะฐะฑะปะธัั
$wpdb->query("DELETE FROM wp_visiters_bot");
//echo '<pre>';print_r($new_blocked);echo '</pre>';
$file = '.htaccess';
$start_searche_tag = 'start_auto_deny_list';
$end_searche_tag = 'end_auto_deny_list';
$handle = @fopen($file, "r");
if ($handle) {
$replace_string = '';//ะขะตัั ะดะปั ะฒััะฐะฒะบะธ ะฒ ัะฐะนะป .htaccess
$target_content = false; //ะคะปะฐะณ ะฝัะถะฝะพะณะพ ะฝะฐะผ ััะฐััะบะฐ ะบะพะดะฐ
while (($buffer = fgets($handle, 4096)) !== false) {
if (stripos($buffer, 'start_auto_deny_list') !== false) {
$target_content = true;
continue;
}
if (stripos($buffer, 'end_auto_deny_list') !== false) {
$target_content = false;
continue;
}
if ($target_content) {
$replace_string .= $buffer;
}
}
if (!feof($handle)) {
echo "ะัะธะฑะบะฐ: fgets() ะฝะตะพะถะธะดะฐะฝะฝะพ ะฟะพัะตัะฟะตะป ะฝะตัะดะฐััn";
}
fclose($handle);
}
//ะขะตะบััะธะน ัะฐะนะป .htaccess
$content = file_get_contents($file);
$content = str_replace($replace_string, '', $content);
//ะัะธัะฐะตะผ ะฒัะต ะฑะปะพะบะธัะพะฒะบะธ ะฒ ัะฐะนะปะต .htaccess
file_put_contents($file, $content);
//ะะฐะฟะธัั ะฝะพะฒัั
ะฑะปะพะบะธัะพะฒะพะบ
$str = "# {$start_searche_tag}" . PHP_EOL;
foreach ($new_blocked as $key => $value) {
$str .= "Deny from {$value}" . PHP_EOL;
}
file_put_contents($file, str_replace("# {$start_searche_tag}", $str, file_get_contents($file)));
เจซเจพเจเจฒ เจเฉเจก เจเจพเจซเจผเฉ เจธเจงเจพเจฐเจจ เจ
เจคเฉ เจฎเฉเฉฑเจขเจฒเจพ เจนเฉ เจ
เจคเฉ เจเจธเจฆเจพ เจฎเฉเฉฑเจ เจตเจฟเจเจพเจฐ เจฌเจฒเจพเจเจฟเฉฐเจ เจฒเจ เจเจฎเฉเจฆเจตเจพเจฐเจพเจ เจจเฉเฉฐ เจฒเฉเจฃเจพ เจนเฉ เจ
เจคเฉ เจเจฟเฉฑเจชเจฃเฉเจเจ เจฆเฉ เจตเจฟเจเจเจพเจฐ .htaccess เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจฌเจฒเจพเจเจฟเฉฐเจ เจจเจฟเจฏเจฎ เจฆเจฐเจ เจเจฐเจจเจพ เจนเฉ.
# start_auto_deny_list เจ
เจคเฉ # end_auto_deny_list
เจนเฉเจฃ "เจนเจพเจจเฉเจเจพเจฐเจ" IP เจเจชเจฃเฉ เจเจช เจฌเจฒเฉเจ เจเฉเจคเฉ เจเจ เจนเจจ, เจ เจคเฉ .htaccess เจซเจพเจเจฒ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเฉ เจนเฉ:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Order allow,deny
Allow from all
# start_auto_deny_list
Deny from 94.242.55.248
Deny from 207.46.13.122
Deny from 66.249.64.164
Deny from 54.209.162.70
Deny from 40.77.167.86
Deny from 54.146.43.69
Deny from 207.46.13.168
....... ะฝะธะถะต ะดััะณะธะต ะฐะดัะตัะฐ
# end_auto_deny_list
เจจเจคเฉเจเฉ เจตเจเฉเจ, เจเจธ เจเฉเจก เจฆเฉ เจเฉฐเจฎ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจคเฉเจธเฉเจ เจนเฉเจธเจเจฟเฉฐเจ เจชเฉเจจเจฒ เจตเจฟเฉฑเจ เจจเจคเฉเจเจพ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ:
PS: เจธเจฎเฉฑเจเจฐเฉ เจฒเฉเจเจ เจฆเฉ เจนเฉ, เจนเจพเจฒเจพเจเจเจฟ เจฎเฉเจ เจเจธ เจฆเจพ เจเฉเจ เจนเจฟเฉฑเจธเจพ เจเจชเจฃเฉ เจตเฉเจฌเจธเจพเจเจ 'เจคเฉ เจชเฉเจฐเจเจพเจธเจผเจค เจเฉเจคเจพ เจนเฉ, เจฎเฉเจจเฉเฉฐ เจนเฉเจฌเจฐเฉ 'เจคเฉ เจตเจงเฉเจฐเฉ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจธเฉฐเจธเจเจฐเจฃ เจฎเจฟเจฒเจฟเจ เจนเฉเฅค
เจธเจฐเฉเจค: www.habr.com