{"id":53770,"date":"2017-01-22T21:06:22","date_gmt":"2017-01-22T21:06:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/htaccess-login-block\/"},"modified":"2024-05-03T10:31:30","modified_gmt":"2024-05-03T10:31:30","slug":"htaccess-login-block","status":"closed","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/htaccess-login-block\/","author":14784637,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.9a","stable_tag":"trunk","tested":"6.5.8","requires":"4.0.0","requires_php":"","requires_plugins":null,"header_name":".htaccess Login block","header_author":"Anton Aleksandrov","header_description":"","assets_banners_color":"b5a573","last_updated":"2024-05-03 10:31:30","external_support_url":"","external_repository_url":"","donate_link":"http:\/\/wp-htaccess.hosting.guru\/","header_plugin_uri":"http:\/\/wp-htaccess.hosting.guru\/","header_author_uri":"http:\/\/anton.aleksandrov.eu","rating":0,"author_block_rating":0,"active_installs":100,"downloads":5738,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":[],"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":1580353,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":1580353,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":1580353,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":1580353,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[1220,24839,1174,1329,602],"plugin_category":[38,54],"plugin_contributors":[89990],"plugin_business_model":[],"class_list":["post-53770","plugin","type-plugin","status-closed","hentry","plugin_tags-block","plugin_tags-deny","plugin_tags-firewall","plugin_tags-htaccess","plugin_tags-login","plugin_category-authentication","plugin_category-security-and-spam-protection","plugin_contributors-antonaleksandrov","plugin_committers-antonaleksandrov"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/htaccess-login-block_b5a573.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Every failed login is counted and if configurable threshold is hit, plugin will block access to wp-login.php in .htaccess, so \nthat hijackers won't be able to try anymore and at the same time - won't use server resources.<\/p>\n\n<p>If the same IP keeps trying after first block has expired, it is possible to block it from accessing website completely.<\/p>\n\n<p>Blocking visitor in .htaccess is the most simple and most resource friendly way of stopping webpage abuse and wasting server resources.<\/p>\n\n<p>Since v0.6 plugin should also log and stop XML-RPC abusers.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress, review settings.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>0.9a<\/h4>\n\n<ul>\n<li>JSON request fix<\/li>\n<\/ul>\n\n<h4>0.99<\/h4>\n\n<ul>\n<li>Added option to hide registered user exposure through JSON requests.<\/li>\n<\/ul>\n\n<h4>0.98<\/h4>\n\n<ul>\n<li>Making plugin ready for Wordpress 5.6 and PHP8.0<\/li>\n<\/ul>\n\n<h4>0.97<\/h4>\n\n<ul>\n<li>Fixing small bug, when IP address can not be detected.<\/li>\n<\/ul>\n\n<h4>0.96<\/h4>\n\n<ul>\n<li>Tiny warning fix.<\/li>\n<\/ul>\n\n<h4>0.95<\/h4>\n\n<ul>\n<li>Using correct way for modifying .htaccess using WP functions<\/li>\n<\/ul>\n\n<h4>0.94<\/h4>\n\n<ul>\n<li>Minor fix for new line and .htaccess parsing<\/li>\n<\/ul>\n\n<h4>0.93<\/h4>\n\n<ul>\n<li>Minor fix for valid-IP detection function.<\/li>\n<\/ul>\n\n<h4>0.92<\/h4>\n\n<ul>\n<li>Small additional fixed for the bad IP entries.<\/li>\n<\/ul>\n\n<h4>0.91<\/h4>\n\n<ul>\n<li>Fixed bug with unknown or invalid IP entries, that would break .htaccess<\/li>\n<\/ul>\n\n<h4>0.9<\/h4>\n\n<ul>\n<li>Fixed bug with non-delisting IPs. <\/li>\n<li>Added code to cleanup old log entries, to reduce useless database usage.<\/li>\n<\/ul>\n\n<h4>0.8<\/h4>\n\n<ul>\n<li>Tiny bug fixing<\/li>\n<\/ul>\n\n<h4>0.7<\/h4>\n\n<ul>\n<li>Bug fix for installations with big many blocked IPs<\/li>\n<\/ul>\n\n<h4>0.6<\/h4>\n\n<ul>\n<li>Added support for XML-RPC login and abuse monitoring.<\/li>\n<\/ul>\n\n<h4>0.5<\/h4>\n\n<ul>\n<li>Minor PHP strict standard fix.<\/li>\n<\/ul>\n\n<h4>0.3<\/h4>\n\n<ul>\n<li>Minor visual changes.<\/li>\n<\/ul>\n\n<h4>0.2<\/h4>\n\n<ul>\n<li>Minor visual changes.<\/li>\n<\/ul>\n\n<h4>0.1<\/h4>\n\n<ul>\n<li>First version for testing on private sites.<\/li>\n<\/ul>","raw_excerpt":"Simple plugin to block login hijackers using apache and .htaccess. Simple and resource efficient way to protect your blog. Works with Apache from 1.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/53770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=53770"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/antonaleksandrov"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=53770"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=53770"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=53770"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=53770"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=53770"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=53770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}