{"id":228090,"date":"2025-04-13T05:01:19","date_gmt":"2025-04-13T05:01:19","guid":{"rendered":"https:\/\/ja.wordpress.org\/plugins\/syntaxhub-securelog\/"},"modified":"2026-05-30T07:50:39","modified_gmt":"2026-05-30T07:50:39","slug":"syntaxhub-securelog","status":"publish","type":"plugin","link":"https:\/\/hy.wordpress.org\/plugins\/syntaxhub-securelog\/","author":23246087,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"7.0","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"sHub-Log","header_author":"SyntaxCloud LLC","header_description":"WordPress\u306e\u7ba1\u7406\u753b\u9762\u306e\u4e0d\u6b63\u30ed\u30b0\u30a4\u30f3\u8a66\u884c\u3092\u8a18\u9332\u3057\u3001\u4e00\u5b9a\u56de\u6570\u306e\u5931\u6557\u3067IP\u3092\u30d6\u30ed\u30c3\u30af","assets_banners_color":"","last_updated":"2026-05-30 07:50:39","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/syn-c.jp\/service\/syntax-web-master\/syntaxhub-securelog\/","header_author_uri":"https:\/\/syn-c.jp\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":697,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"syntaxcloud","date":"2025-04-14 05:50:44"},"1.1.0":{"tag":"1.1.0","author":"syntaxcloud","date":"2026-05-07 06:57:47"},"1.1.3":{"tag":"1.1.3","author":"syntaxcloud","date":"2026-05-11 03:45:48"},"1.1.4":{"tag":"1.1.4","author":"syntaxcloud","date":"2026-05-18 08:02:27"},"1.1.5":{"tag":"1.1.5","author":"syntaxcloud","date":"2026-05-21 01:38:42"},"1.1.6":{"tag":"1.1.6","author":"syntaxcloud","date":"2026-05-23 05:00:46"},"1.1.7":{"tag":"1.1.7","author":"syntaxcloud","date":"2026-05-23 05:10:57"},"1.1.8":{"tag":"1.1.8","author":"syntaxcloud","date":"2026-05-28 02:20:53"},"1.1.9":{"tag":"1.1.9","author":"syntaxcloud","date":"2026-05-30 07:29:09"},"1.2.0":{"tag":"1.2.0","author":"syntaxcloud","date":"2026-05-30 07:50:39"}},"upgrade_notice":{"1.2.0":"<p>IP\u3054\u3068\u306e\u30ea\u30b9\u30af\u30b9\u30b3\u30a2\u30ea\u30f3\u30b0\uff08\u65e2\u5b9aOFF\uff09\u3092\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002\u914d\u70b9\u30fb\u3057\u304d\u3044\u5024\u306f\u7ba1\u7406\u753b\u9762\u3067\u8abf\u6574\u3067\u304d\u3001syn-c.jp \u4e0a\u306e\u7f72\u540d\u4ed8\u304d\u914d\u70b9\u5b9a\u7fa9\u306e\u53d6\u5f97\u306b\u3082\u5bfe\u5fdc\u3057\u307e\u3059\u3002<\/p>","1.1.9":"<p>\u30ec\u30fc\u30c8\u30ea\u30df\u30c3\u30c8\u306e\u3057\u304d\u3044\u5024\u30fb\u8a08\u6e2c\u7a93\u306e\u8a2d\u5b9a\u5316\u3001\u4e0d\u5be9\u306a404\u591a\u767a\u691c\u77e5\u3001IP\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\u3001\u4fe1\u983c\u30d7\u30ed\u30ad\u30b7\uff08X-Forwarded-For \/ CF-Connecting-IP\uff09\u5bfe\u5fdc\u3001URL\u6b63\u898f\u5316\u306b\u3088\u308b\u691c\u77e5\u7cbe\u5ea6\u5411\u4e0a\u3092\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002<\/p>","1.1.8":"<p>\u524d\u56de\u96c6\u8a08\u304c0\u4ef6\u306e\u3068\u304d\u306b\u8aa4\u3063\u305f\u5897\u52a0\u500d\u7387\u304c\u8868\u793a\u3055\u308c\u306a\u3044\u3088\u3046\u3001\u30a2\u30bf\u30c3\u30af\u6025\u4e0a\u6607\u30e1\u30fc\u30eb\u30a2\u30e9\u30fc\u30c8\u306e\u8868\u793a\u3092\u4fee\u6b63\u3057\u307e\u3057\u305f\u3002<\/p>","1.1.7":"<p>\u30a2\u30bf\u30c3\u30af\u6025\u4e0a\u6607\u30e1\u30fc\u30eb\u30a2\u30e9\u30fc\u30c8\u306e\u5bfe\u8c61IP\u30d7\u30ed\u30c6\u30af\u30c8\u8868\u73fe\u3092\u3088\u308a\u6b63\u78ba\u306a\u6587\u8a00\u306b\u8abf\u6574\u3057\u307e\u3057\u305f\u3002<\/p>","1.1.6":"<p>\u30a2\u30bf\u30c3\u30af\u6025\u4e0a\u6607\u30e1\u30fc\u30eb\u30a2\u30e9\u30fc\u30c8\u306e\u5185\u8535\u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af\u6587\u9762\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002<\/p>","1.1.5":"<p>WordPress 7.0\u5bfe\u5fdc\u8868\u8a18\u3068\u7ba1\u7406\u753b\u9762\u306e\u8868\u793a\u30fb\u8aac\u660e\u6587\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002<\/p>","1.1.4":"<p>\u76f4\u8fd124\u6642\u9593\u306e\u30a2\u30bf\u30c3\u30af\u63a8\u79fb\u30b0\u30e9\u30d5\u3001\u30a2\u30bf\u30c3\u30af\u6025\u4e0a\u6607\u30e1\u30fc\u30eb\u30a2\u30e9\u30fc\u30c8\u3001\u5916\u90e8\u30a2\u30e9\u30fc\u30c8\u5b9a\u7fa9\u30fb\u30e1\u30fc\u30eb\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u53d6\u5f97\u306b\u5bfe\u5fdc\u3057\u307e\u3057\u305f\u3002<\/p>","1.1.2":"<p>\u7ba1\u7406\u753b\u9762\u306e\u671f\u9593\u30e9\u30d9\u30eb\u8868\u793a\u306b\u95a2\u3059\u308b\u4e92\u63db\u6027\u4fee\u6b63\u3092\u542b\u307f\u307e\u3059\u3002<\/p>","1.1.1":"<p>\u7ba1\u7406\u753b\u9762\u306e\u540d\u79f0\u5909\u66f4\u3001CSV\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3001AJAX\u30ab\u30c6\u30b4\u30ea\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3001DB\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u53cd\u6620\u3092\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002<\/p>","1.1.0":"<p>\u4e0d\u5be9\u306a404\u3084\u4e0d\u6b63\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u30ab\u30c6\u30b4\u30ea\u5225\u691c\u77e5\u3001\u7d71\u8a08\u8868\u793a\u3001\u4fdd\u5b58\u671f\u9593\u8a2d\u5b9a\u3001\u81ea\u52d5IP\u30d6\u30ed\u30c3\u30af\u9023\u52d5\u3092\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002<\/p>","1.0.3":"<p>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\uff1a\u3059\u3079\u3066\u306e\u30e6\u30fc\u30b6\u30fc\u306b\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u63a8\u5968\u3057\u307e\u3059\u3002<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3527587,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3527587,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3","1.1.0","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.8","1.1.9","1.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[263333,1192,1178,600],"plugin_category":[38,54],"plugin_contributors":[240036],"plugin_business_model":[],"class_list":["post-228090","plugin","type-plugin","status-publish","hentry","plugin_tags-attack-log","plugin_tags-ip-blocking","plugin_tags-protection","plugin_tags-security","plugin_category-authentication","plugin_category-security-and-spam-protection","plugin_contributors-syntaxcloud","plugin_committers-syntaxcloud"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/syntaxhub-securelog\/assets\/icon-128x128.png?rev=3527587","icon_2x":"https:\/\/ps.w.org\/syntaxhub-securelog\/assets\/icon-256x256.png?rev=3527587","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>sHub-Log\u306f\u3001WordPress\u30b5\u30a4\u30c8\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u5f37\u5316\u3059\u308b\u305f\u3081\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u3059\u3002\n\u4e3b\u306a\u6a5f\u80fd\uff1a<\/p>\n\n<ul>\n<li>\u30ed\u30b0\u30a4\u30f3\u8a66\u884c\u306e\u8a18\u9332<\/li>\n<li>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u63a2\u7d22\u3001\u88cf\u53e3\u63a2\u7d22\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u8106\u5f31\u6027\u30b9\u30ad\u30e3\u30f3\u3001\u7ba1\u7406\u753b\u9762\u30cf\u30c3\u30ad\u30f3\u30b0\u3001\u30b9\u30d1\u30e0\u306a\u3069\u306e\u30ab\u30c6\u30b4\u30ea\u5225\u691c\u77e5<\/li>\n<li>\u4e0d\u6b63\u306a\u30af\u30a8\u30ea\u30d1\u30e9\u30e1\u30fc\u30bf\u3001\u5927\u91cf\u30ea\u30af\u30a8\u30b9\u30c8\u3001REST API\u60aa\u7528\u8a66\u884c\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u691c\u77e5<\/li>\n<li>\u76f4\u8fd17\u65e5\u9593\u306e\u30a2\u30bf\u30c3\u30af\u7d71\u8a08\u30b5\u30de\u30ea\u30fc\u3068\u8a73\u7d30\u30ed\u30b0\u8868\u793a<\/li>\n<li>\u76f4\u8fd124\u6642\u9593\u306e\u30a2\u30bf\u30c3\u30af\u63a8\u79fb\u30b0\u30e9\u30d5\uff081\u6642\u9593 \/ 2\u6642\u9593 \/ 3\u6642\u9593\u9593\u9694\uff09<\/li>\n<li>CSV\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3068AJAX\u30ab\u30c6\u30b4\u30ea\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0<\/li>\n<li>\u30a2\u30bf\u30c3\u30af\u30ed\u30b0\u4fdd\u5b58\u671f\u9593\uff0830\u65e5 \/ 90\u65e5 \/ \u7121\u671f\u9650\uff09\u306e\u9078\u629e<\/li>\n<li>WP-Cron\u306b\u3088\u308b\u53e4\u3044\u30a2\u30bf\u30c3\u30af\u30ed\u30b0\u306e\u81ea\u52d5\u524a\u9664<\/li>\n<li>\u30a2\u30bf\u30c3\u30af\u7d71\u8a08\u30fb\u4e00\u89a7\u306e\u8868\u793a\u671f\u9593\uff087\u65e5 \/ 30\u65e5 \/ \u5168\u671f\u9593\uff09\u306e\u9078\u629e<\/li>\n<li>\u30a2\u30bf\u30c3\u30af\u6025\u4e0a\u6607\u6642\u306e\u30e1\u30fc\u30eb\u30a2\u30e9\u30fc\u30c8\u3068\u901a\u77e5\u30af\u30fc\u30eb\u30c0\u30a6\u30f3<\/li>\n<li>syn-c.jp \u4e0a\u306e\u30a2\u30e9\u30fc\u30c8\u5b9a\u7fa9\u30fb\u30e1\u30fc\u30eb\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u53d6\u5f97\u306b\u5bfe\u5fdc\uff08\u53d6\u5f97\u5931\u6557\u6642\u306f\u5185\u8535\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u52d5\u4f5c\uff09<\/li>\n<li>\u6307\u5b9a\u56de\u6570\u4ee5\u4e0a\u306e\u5931\u6557\u3067IP\u30a2\u30c9\u30ec\u30b9\u3092\u30d6\u30ed\u30c3\u30af<\/li>\n<li>\u30d6\u30ed\u30c3\u30af\u6642\u9593\u306e\u8a2d\u5b9a<\/li>\n<li>\u30ab\u30b9\u30bf\u30e0\u30ea\u30c0\u30a4\u30ec\u30af\u30c8URL\u306e\u8a2d\u5b9a<\/li>\n<li>\u7ba1\u7406\u753b\u9762\u3067\u306e\u30ed\u30b0\u78ba\u8a8d\u3068IP\u7ba1\u7406<\/li>\n<li>\u5927\u91cf\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u3057\u304d\u3044\u5024\u30fb\u8a08\u6e2c\u7a93\u306e\u30ab\u30b9\u30bf\u30de\u30a4\u30ba<\/li>\n<li>\u653b\u6483\u7279\u5fb4\u3092\u4f34\u3046\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u307f\u3092\u8a08\u6e2c\u3059\u308b\u8aa4\u691c\u77e5\u4f4e\u6e1b\u30e2\u30fc\u30c9<\/li>\n<li>\u30ed\u30b0\u30a4\u30f3\u6e08\u307f\u30e6\u30fc\u30b6\u30fc\u30fb\u6b63\u898f\u30af\u30ed\u30fc\u30e9\u30fc\uff08FCrDNS\u691c\u8a3c\uff09\u306e\u30ec\u30fc\u30c8\u8a08\u6e2c\u9664\u5916<\/li>\n<li>\u4e0d\u5be9\u306a404\u591a\u767a\uff08\u5de1\u56de\u30b9\u30ad\u30e3\u30f3\uff09\u306e\u691c\u77e5<\/li>\n<li>IP\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\uff08\u691c\u77e5\u30fb\u30d6\u30ed\u30c3\u30af\u5bfe\u8c61\u5916\uff09<\/li>\n<li>\u4fe1\u983c\u3059\u308b\u30d7\u30ed\u30ad\u30b7\u7d4c\u7531\u6642\u306e X-Forwarded-For \/ CF-Connecting-IP \u304b\u3089\u306e\u5b9fIP\u53d6\u5f97<\/li>\n<li>URL\u306e\u591a\u91cd\u30c7\u30b3\u30fc\u30c9\u30fb\u30d1\u30b9\u6b63\u898f\u5316\u306b\u3088\u308b\u96e3\u8aad\u5316\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u691c\u77e5\u7cbe\u5ea6\u5411\u4e0a<\/li>\n<li>IP\u3054\u3068\u306b\u30ea\u30b9\u30af\u30b9\u30b3\u30a2\u3092\u6642\u9593\u7a93\u3067\u7d2f\u7a4d\u3057\u3001\u8a18\u9332\u30fb\u30d6\u30ed\u30c3\u30af\u3092\u5224\u5b9a\u3059\u308b\u30b9\u30b3\u30a2\u30ea\u30f3\u30b0\uff08\u65e2\u5b9aOFF\uff09<\/li>\n<li>\u914d\u70b9\u30fb\u3057\u304d\u3044\u5024\u306f\u7ba1\u7406\u753b\u9762\u3067\u8abf\u6574\u53ef\u80fd\u3002syn-c.jp \u4e0a\u306e\u7f72\u540d\u4ed8\u304d\u914d\u70b9\u5b9a\u7fa9\u306e\u53d6\u5f97\u306b\u3082\u5bfe\u5fdc<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u307e\u305f\u306f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/li>\n<li>\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u6709\u52b9\u5316<\/li>\n<li>\u7ba1\u7406\u753b\u9762\u306esHub-Log\u30e1\u30cb\u30e5\u30fc\u304b\u3089\u8a2d\u5b9a\u3092\u884c\u3046<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%95%E3%82%8C%E3%81%9Fip%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92%E8%A7%A3%E9%99%A4%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F\"><h3>\u30d6\u30ed\u30c3\u30af\u3055\u308c\u305fIP\u30a2\u30c9\u30ec\u30b9\u3092\u89e3\u9664\u3059\u308b\u306b\u306f\uff1f<\/h3><\/dt>\n<dd><p>\u7ba1\u7406\u753b\u9762\u306esHub-Log\u30e1\u30cb\u30e5\u30fc\u304b\u3089\u3001\u30d6\u30ed\u30c3\u30af\u3055\u308c\u3066\u3044\u308bIP\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d\u3057\u3001\u89e3\u9664\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p><\/dd>\n<dt id=\"%E5%A4%96%E9%83%A8%E9%80%9A%E4%BF%A1%E3%81%AF%E8%A1%8C%E3%82%8F%E3%82%8C%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F\"><h3>\u5916\u90e8\u901a\u4fe1\u306f\u884c\u308f\u308c\u307e\u3059\u304b\uff1f<\/h3><\/dt>\n<dd><p>\u30a2\u30bf\u30c3\u30af\u6025\u4e0a\u6607\u30e1\u30fc\u30eb\u30a2\u30e9\u30fc\u30c8\u304c\u6709\u52b9\u306a\u5834\u5408\u3001\u672c\u30d7\u30e9\u30b0\u30a4\u30f3\u306f\u30a2\u30e9\u30fc\u30c8\u5b9a\u7fa9\u304a\u3088\u3073\u30e1\u30fc\u30eb\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u66f4\u65b0\u3059\u308b\u305f\u3081\u3001syn-c.jp \u4e0a\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u3059\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u307e\u305f\u3001\u30ea\u30b9\u30af\u30b9\u30b3\u30a2\u30ea\u30f3\u30b0\u3067\u300c\u5916\u90e8\u306e\u914d\u70b9\u5b9a\u7fa9\u3092\u4f7f\u7528\u300d\u3092\u6709\u52b9\u306b\u3057\u305f\u5834\u5408\u306f\u3001\u914d\u70b9\u5b9a\u7fa9\uff08score-config.json\uff09\u3092 syn-c.jp \u304b\u3089\u53d6\u5f97\u3059\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u3044\u305a\u308c\u3082\u5916\u90e8\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u3067\u304d\u306a\u3044\u5834\u5408\u3001\u307e\u305f\u306f\u7f72\u540d\u691c\u8a3c\u306b\u5931\u6557\u3057\u305f\u5834\u5408\u306f\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u5185\u8535\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u307e\u305f\u306f\u7ba1\u7406\u753b\u9762\u306e\u8a2d\u5b9a\u5024\u3067\u52d5\u4f5c\u3057\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u6a5f\u80fd\u306b\u3088\u308a\u3001\u30a2\u30bf\u30c3\u30af\u30ed\u30b0\u3001IP\u30a2\u30c9\u30ec\u30b9\u3001\u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u3001\u30b5\u30a4\u30c8\u5185\u5bb9\u304c syn-c.jp \u306b\u9001\u4fe1\u3055\u308c\u308b\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added per-IP risk scoring (disabled by default): weak signals accumulate a score within a time window, recording a \"Risk Score Exceeded\" log and blocking the IP when thresholds are crossed.<\/li>\n<li>Signal weights, accumulation window, and record\/block thresholds are configurable from the admin screen.<\/li>\n<li>Added optional retrieval of a signed scoring definition (score-config.json) from syn-c.jp, with priority remote &gt; admin settings &gt; built-in defaults.<\/li>\n<li>IP\u3054\u3068\u306e\u30ea\u30b9\u30af\u30b9\u30b3\u30a2\u30ea\u30f3\u30b0\u3092\u8ffd\u52a0\uff08\u521d\u671fOFF\uff09\u3002\u5f31\u3044\u5146\u5019\u3092\u6642\u9593\u7a93\u3067\u7d2f\u7a4d\u3057\u3001\u3057\u304d\u3044\u5024\u8d85\u904e\u3067\u300c\u30b9\u30b3\u30a2\u30ea\u30f3\u30b0\u691c\u77e5\u300d\u3092\u8a18\u9332\u30fbIP\u30d6\u30ed\u30c3\u30af<\/li>\n<li>\u914d\u70b9\u30fb\u7d2f\u7a4d\u7a93\u30fb\u8a18\u9332\/\u30d6\u30ed\u30c3\u30af\u3057\u304d\u3044\u5024\u3092\u7ba1\u7406\u753b\u9762\u3067\u8abf\u6574\u53ef\u80fd\u306b<\/li>\n<li>syn-c.jp \u4e0a\u306e\u7f72\u540d\u4ed8\u304d\u914d\u70b9\u5b9a\u7fa9\uff08score-config.json\uff09\u306e\u53d6\u5f97\u306b\u5bfe\u5fdc\uff08\u512a\u5148\u9806\u4f4d\uff1a\u5916\u90e8 &gt; \u7ba1\u7406\u753b\u9762 &gt; \u5185\u8535\u30c7\u30d5\u30a9\u30eb\u30c8\uff09<\/li>\n<\/ul>\n\n<h4>1.1.9<\/h4>\n\n<ul>\n<li>Added URL normalization (multi-decoding, path normalization, control-char stripping) before pattern matching to catch obfuscated requests.<\/li>\n<li>Added detection for suspicious 404 floods (scanner crawling) with configurable threshold and window.<\/li>\n<li>Made the high-volume request threshold and time window configurable, with a more robust fixed-window counter.<\/li>\n<li>Added an option to count only requests with attack signals toward rate limiting.<\/li>\n<li>Added exclusion of logged-in users and verified good bots (FCrDNS) from rate counting.<\/li>\n<li>Added an IP whitelist that is never detected or blocked.<\/li>\n<li>Added trusted-proxy support to read the real client IP from X-Forwarded-For \/ CF-Connecting-IP.<\/li>\n<li>URL\u6b63\u898f\u5316\uff08\u591a\u91cd\u30c7\u30b3\u30fc\u30c9\u30fb\u30d1\u30b9\u6b63\u898f\u5316\u30fb\u5236\u5fa1\u6587\u5b57\u9664\u53bb\uff09\u3092\u7167\u5408\u524d\u306b\u8ffd\u52a0\u3057\u3001\u96e3\u8aad\u5316\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u691c\u77e5\u7cbe\u5ea6\u3092\u5411\u4e0a<\/li>\n<li>\u4e0d\u5be9\u306a404\u591a\u767a\uff08\u5de1\u56de\u30b9\u30ad\u30e3\u30f3\uff09\u306e\u691c\u77e5\u3092\u3057\u304d\u3044\u5024\u30fb\u8a08\u6e2c\u7a93\u3064\u304d\u3067\u8ffd\u52a0<\/li>\n<li>\u5927\u91cf\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u3057\u304d\u3044\u5024\u3068\u8a08\u6e2c\u7a93\u3092\u8a2d\u5b9a\u53ef\u80fd\u306b\u3057\u3001\u56fa\u5b9a\u30a6\u30a3\u30f3\u30c9\u30a6\u65b9\u5f0f\u306e\u5805\u7262\u306a\u30ab\u30a6\u30f3\u30bf\u306b\u5909\u66f4<\/li>\n<li>\u653b\u6483\u7279\u5fb4\u3092\u4f34\u3046\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u307f\u3092\u30ec\u30fc\u30c8\u8a08\u6e2c\u5bfe\u8c61\u306b\u3059\u308b\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8ffd\u52a0<\/li>\n<li>\u30ed\u30b0\u30a4\u30f3\u6e08\u307f\u30e6\u30fc\u30b6\u30fc\u3068\u6b63\u898f\u30af\u30ed\u30fc\u30e9\u30fc\uff08FCrDNS\u691c\u8a3c\uff09\u3092\u30ec\u30fc\u30c8\u8a08\u6e2c\u304b\u3089\u9664\u5916<\/li>\n<li>\u691c\u77e5\u30fb\u30d6\u30ed\u30c3\u30af\u5bfe\u8c61\u5916\u3068\u3059\u308bIP\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\u3092\u8ffd\u52a0<\/li>\n<li>\u4fe1\u983c\u3059\u308b\u30d7\u30ed\u30ad\u30b7\u7d4c\u7531\u6642\u306b X-Forwarded-For \/ CF-Connecting-IP \u304b\u3089\u5b9fIP\u3092\u53d6\u5f97\u3059\u308b\u6a5f\u80fd\u3092\u8ffd\u52a0<\/li>\n<li>\u5927\u91cf\u30ea\u30af\u30a8\u30b9\u30c8\/404\u591a\u767a\u306e\u521d\u671f\u5024\u3092\u7de9\u548c\uff0890\u56de\/30\u56de\uff09\u3002\u65e7\u521d\u671f\u5024(30\/20)\u306e\u30b5\u30a4\u30c8\u306f\u4e00\u5ea6\u3060\u3051\u81ea\u52d5\u79fb\u884c<\/li>\n<li>Relaxed default thresholds (90 for high-volume requests, 30 for 404 floods); sites still on the old defaults (30\/20) are migrated once automatically.<\/li>\n<\/ul>\n\n<h4>1.1.8<\/h4>\n\n<ul>\n<li>When the previous attack count window is zero, attack spike alert emails now show N\/A and an explanatory note instead of a misleading multiplier.<\/li>\n<li>\u524d\u56de\u96c6\u8a08\u304c0\u4ef6\u306e\u3068\u304d\u3001\u30a2\u30bf\u30c3\u30af\u6025\u4e0a\u6607\u30e1\u30fc\u30eb\u30a2\u30e9\u30fc\u30c8\u306e\u5897\u52a0\u500d\u7387\u3092 N\/A \u3068\u6ce8\u8a18\u3067\u8868\u793a\u3059\u308b\u3088\u3046\u4fee\u6b63<\/li>\n<\/ul>\n\n<h4>1.1.7<\/h4>\n\n<ul>\n<li>Refined the attack spike alert email wording for more accurate IP protection messaging.<\/li>\n<li>\u30a2\u30bf\u30c3\u30af\u6025\u4e0a\u6607\u30e1\u30fc\u30eb\u30a2\u30e9\u30fc\u30c8\u306e\u5bfe\u8c61IP\u30d7\u30ed\u30c6\u30af\u30c8\u8868\u73fe\u3092\u3088\u308a\u6b63\u78ba\u306a\u6587\u8a00\u306b\u8abf\u6574<\/li>\n<\/ul>\n\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>Updated the built-in fallback email template for attack spike alerts.<\/li>\n<li>\u30a2\u30bf\u30c3\u30af\u6025\u4e0a\u6607\u30e1\u30fc\u30eb\u30a2\u30e9\u30fc\u30c8\u306e\u5185\u8535\u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af\u6587\u9762\u3092\u66f4\u65b0<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>WordPress 7.0 compatibility display update<\/li>\n<li>\u7ba1\u7406\u753b\u9762\u306eAttack Log\u3068Protected IP Addresses\u306e\u8868\u793a\u9806\u3092\u8abf\u6574<\/li>\n<li>\u7ba1\u7406\u753b\u9762\u306e\u8aac\u660e\u6587\u3001\u30dc\u30bf\u30f3\u8868\u8a18\u3001\u521d\u671f\u8a2d\u5b9a\u3001\u30b5\u30de\u30ea\u30fc\u88dc\u8db3\u6587\u3092\u66f4\u65b0<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>\u76f4\u8fd124\u6642\u9593\u306e\u30a2\u30bf\u30c3\u30af\u63a8\u79fb\u30b0\u30e9\u30d5\u3092\u8ffd\u52a0<\/li>\n<li>\u30b0\u30e9\u30d5\u306e\u96c6\u8a08\u9593\u9694\uff081\u6642\u9593 \/ 2\u6642\u9593 \/ 3\u6642\u9593\uff09\u9078\u629e\u3092\u8ffd\u52a0<\/li>\n<li>\u30a2\u30bf\u30c3\u30af\u6025\u4e0a\u6607\u30e1\u30fc\u30eb\u30a2\u30e9\u30fc\u30c8\u3068\u901a\u77e5\u30af\u30fc\u30eb\u30c0\u30a6\u30f3\u3092\u8ffd\u52a0<\/li>\n<li>syn-c.jp \u4e0a\u306e\u30a2\u30e9\u30fc\u30c8\u5b9a\u7fa9\u30fb\u30e1\u30fc\u30eb\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u53d6\u5f97\u3068\u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af\u51e6\u7406\u3092\u8ffd\u52a0<\/li>\n<li>\u5916\u90e8\u901a\u4fe1\u306b\u95a2\u3059\u308b\u8aac\u660e\u3092\u7ba1\u7406\u753b\u9762\u3068readme\u306b\u8ffd\u52a0<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>\u7ba1\u7406\u753b\u9762\u306e\u671f\u9593\u30e9\u30d9\u30eb\u3067\u767a\u751f\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308bPHP 8\u7cfb\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u30a8\u30e9\u30fc\u3092\u4fee\u6b63<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>\u30d7\u30e9\u30b0\u30a4\u30f3\u540d\u79f0\u3092sHub-Log\u306b\u5909\u66f4<\/li>\n<li>\u7ba1\u7406\u753b\u9762\u3092\u82f1\u8a9e\/\u65e5\u672c\u8a9e\u4f75\u8a18\u306b\u66f4\u65b0<\/li>\n<li>\u30a2\u30bf\u30c3\u30af\u30ed\u30b0\u306eCSV\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3092\u8ffd\u52a0<\/li>\n<li>AJAX\u306b\u3088\u308b\u30ab\u30c6\u30b4\u30ea\u5225\u30a2\u30bf\u30c3\u30af\u30ed\u30b0\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3092\u8ffd\u52a0<\/li>\n<li>\u30a2\u30bf\u30c3\u30af\u30ed\u30b0\u30c6\u30fc\u30d6\u30eb\u306edate\/category\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u7dad\u6301\u3057\u3001\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u6642\u306bdbDelta\u3067\u53cd\u6620<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>\u30d7\u30e9\u30b0\u30a4\u30f3\u540d\u79f0\u3092sHub-SecureLog\u306b\u5909\u66f4<\/li>\n<li>\u30ab\u30c6\u30b4\u30ea\u5225\u30a2\u30bf\u30c3\u30af\u30ed\u30b0\u30c6\u30fc\u30d6\u30eb\u3092\u8ffd\u52a0<\/li>\n<li>\u4e0d\u5be9\u306a404\u3001\u4e0d\u6b63\u30af\u30a8\u30ea\u3001\u5927\u91cf\u30ea\u30af\u30a8\u30b9\u30c8\u3001REST API\u60aa\u7528\u8a66\u884c\u306e\u691c\u77e5\u3092\u8ffd\u52a0<\/li>\n<li>\u76f4\u8fd17\u65e5\u9593\u306e\u30a2\u30bf\u30c3\u30af\u7d71\u8a08\u30b5\u30de\u30ea\u30fc\u3068\u30a2\u30bf\u30c3\u30af\u30ed\u30b0\u4e00\u89a7\u3092\u8ffd\u52a0<\/li>\n<li>\u30a2\u30bf\u30c3\u30af\u691c\u77e5\u3068IP\u30d6\u30ed\u30c3\u30af\u306e\u9023\u52d5\u8a2d\u5b9a\u3092\u8ffd\u52a0<\/li>\n<li>\u30a2\u30bf\u30c3\u30af\u30ed\u30b0\u4fdd\u5b58\u671f\u9593\u3068\u8868\u793a\u671f\u9593\u306e\u9078\u629e\u8a2d\u5b9a\u3092\u8ffd\u52a0<\/li>\n<li>WP-Cron\u306b\u3088\u308b\u53e4\u3044\u30a2\u30bf\u30c3\u30af\u30ed\u30b0\u306e\u81ea\u52d5\u524a\u9664\u3092\u8ffd\u52a0<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5f37\u5316\uff1anonce\u306e\u8ffd\u52a0<\/li>\n<li>wp_enqueue_script\u306e\u9069\u5207\u306a\u4f7f\u7528<\/li>\n<li>\u30c7\u30fc\u30bf\u306e\u30b5\u30cb\u30bf\u30a4\u30ba\u3068\u30a8\u30b9\u30b1\u30fc\u30d7\u306e\u6539\u5584<\/li>\n<li>SQL\u30af\u30a8\u30ea\u306e\u5b89\u5168\u6027\u5411\u4e0a<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>\u30d0\u30b0\u4fee\u6b63\uff1a\u30ed\u30b0\u524a\u9664\u6a5f\u80fd\u306e\u6539\u5584<\/li>\n<li>UI\/UX\u306e\u6539\u5584<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>\u521d\u671f\u30d0\u30b0\u4fee\u6b63<\/li>\n<li>\u7ba1\u7406\u753b\u9762\u306e\u6539\u5584<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>\u521d\u56de\u30ea\u30ea\u30fc\u30b9<\/li>\n<\/ul>","raw_excerpt":"WordPress\u306e\u4e0d\u6b63\u30ed\u30b0\u30a4\u30f3\u8a66\u884c\u3001\u4e0d\u5be9\u306a404\u3001\u4e0d\u6b63\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u8a18\u9332\u3057\u3001\u4e00\u5b9a\u56de\u6570\u3067IP\u3092\u30d6\u30ed\u30c3\u30af\u3059\u308b\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30d7\u30e9\u30b0\u30a4\u30f3\u3002","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/228090","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=228090"}],"author":[{"embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/syntaxcloud"}],"wp:attachment":[{"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=228090"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=228090"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=228090"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=228090"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=228090"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=228090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}