Hi,
Did you check the firewall log ? When the firewall blocks or sanitises a request, it always writes the reason to its log.
I checked the log and the only entries I see are when the NF plugin was enabled/disabled.
I also checked the Live Log – and I don’t see any entries there either.
Are there other places/logs where I should look?
I could try turning off the scan/sanitize options to see if any of those give me a clue – are there ones you’d recommend that I look at that might be causing the conflict?
Did you change some options from the firewall policies page?
For instance, any option from the “HTTP response headers” group?
I went in and disabled all the options (set everything to ‘No’) and unfortunately, the form still does not display. When I turn off the NF plugin – it displays normally.
Must be some other type of conflict – but I don’t know where to look from here.
It is difficult for me to debug because the application you are using is not open source and I cannot test it.
If the firewall log remains empty, it is likely some kind of conflict.
Maybe you can try the following:
-Disabling the firewall from the “Firewall Options” menu ( instead of the WordPress “Plugins” page). Does the form works?
-If your form is accessed from HTTP, go to the “Firewall Policies” page and select “Enable NinjaFirewall for > HTTPS only”.
If your form is accessed from HTTPS, select “HTTP only”.
Does the form works?
-Turning off “Login Protection”. Does the form works?
I understand the difficulties of trying to diagnose or debug a non-open plugin and appreciate the effort.
– Disabled firewall from Firewall Options – form will not load.
– Tried both HTTP only and HTTPS only – form did not load.
– Turned off Login Protection – form did not load.
Looks like the shortcode relies on javascript to load the form – maybe this helps.
With everything turned off in Firewall Policies and disabled in Firewall Options, it seems that we have a basic plugin conflict. Once I disable NF as a plugin, everything works.
Thanks
You can try to enable debugging in WordPress:
1. Open the wp-config.php file.
2. Search for the line: define('WP_DEBUG', false);
3. Replace it with: define('WP_DEBUG', true);
4. Enable NinjaFirewall and try to access your form. If there are errors, they will be displayed by WordPress.
Here is what I found:
NinjaFirewall enabled – form does not display. Here is the error:
Notice: wpdb::escape is deprecated since version 3.6! Use wpdb::prepare() or esc_sql() instead. in /var/www/html/wordpress/wp-includes/functions.php on line 3391 Fatal error: authnet_cart_process(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition “AuthnetCart” of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /var/www/html/wordpress/wp-content/plugins/sccp-2.5.1/authnet_functions.php(1212) : eval()’d code(1) : eval()’d code on line 16
NinjaFirewall plugin de-activated. Form displays properly, but here is the error message:
Notice: wpdb::escape is deprecated since version 3.6! Use wpdb::prepare() or esc_sql() instead. in /var/www/html/wordpress/wp-includes/functions.php on line 3391 Notice: Undefined index: VARIABLE_AMOUNT in /var/www/html/wordpress/wp-content/plugins/sccp-2.5.1/authnet_functions.php on line 667 Notice: Undefined index: VARIABLE_SUBSCRPTION in /var/www/html/wordpress/wp-content/plugins/sccp-2.5.1/authnet_functions.php on line 668 Notice: Undefined index: display in /var/www/html/wordpress/wp-content/plugins/sccp-2.5.1/authnet_checkout_form1.php on line 75 Notice: Undefined index: display in /var/www/html/wordpress/wp-content/plugins/sccp-2.5.1/authnet_checkout_form1.php on line 117 Notice: Undefined variable: link_to_override_css in /var/www/html/wordpress/wp-content/plugins/sccp-2.5.1/authnet_functions.php on line 707 Notice: Undefined variable: authnet_cart_items in /var/www/html/wordpress/wp-content/plugins/sccp-2.5.1/authnet_functions.php on line 738 Notice: Undefined variable: cart_survey in /var/www/html/wordpress/wp-content/plugins/sccp-2.5.1/authnet_functions.php on line 769 Notice: Undefined variable: cart_survey in /var/www/html/wordpress/wp-content/plugins/sccp-2.5.1/authnet_functions.php on line 771 Notice: Undefined variable: is_ssl in /var/www/html/wordpress/wp-content/plugins/sccp-2.5.1/authnet_functions.php on line 862
Does this help?
Thank you again for your persistence.
The fatal error is that one:
Fatal error: authnet_cart_process(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition “AuthnetCart” of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /var/www/html/wordpress/wp-content/plugins/sccp-2.5.1/authnet_functions.php(1212) : eval()’d code(1) : eval()’d code on line 16
It looks like it is related to session, but without the script I cannot be 100% sure: http://programming.nullanswer.com/question/29942231
NinjaFirewall uses session too, and your plugin seems to have an issue with that.
Note that this plugin returns too many errors, even when it is working. I recommend to contact the authors and to ask them to fix them.