200 return code on ‘POST /wp-admin/admin-ajax.php’ while NOT logged in

wp-admin/admin-ajax.php is the script used by any plugin or theme using WP Ajax API and Ajax actions can be registered for non-logged in users. For example: //For logged in users add_action( ‘wp_ajax_my_action’, ‘my_action_callback’ ); //For non-logged in users add_action( ‘wp_ajax_nopriv_my_action’, ‘my_action_callback’ ); There is no problem on that. See WP Ajax documentation for more information.

Updating From Mobile App – Exposing Site to Hacking

The safest way to manage content from outside of the WordPress dashboard, and make use of the WordPress roles and capabilities model, is via XML-RPC. The basic methods built in to WordPress XML-RPC allow you to add, edit and delete posts and media, and restrict the ability to do so based on WordPress user permissions. … Read more

Dealing with HTTP w00tw00t attacks

From your error log they are sending a HTTP/1.1 request without the Host: portion of the request. From what I read, Apache replies with a 400 (bad request) error to this request, before handing over to mod_security. So, it doesn’t look like your rules will be processed. (Apache dealing with it before requiring to hand … Read more

RESTRICT EDIT of PHP files?

You should sanitize the request URI. I was able to bypass this by adding an additional slash to the URL. For example: wp-admin/widgets.php That request displays a blank page (as it should). wp-admin//widgets.php That request bypasses the restriction. It’s hard, bordering on impossible, to answer this question in the affirmative (ie “Yes, this works as … Read more