I am using Jasper report :- TIBCO Jaspersoft Studio-6.2.0.final Jasper server :- JasperReports Server Community Edition (v6.2.0)
I published Report b
for security reasons(!) I personally would recommend (using it is quite insecure as described below!) to
set this to
Validator.ValidSQL=.*
or even better
#/jasperserver/WEB-INF/classes/esapi/security-config.properties
security.validation.sql.on=false
so there is no validity check actually done.
Why? Because the previous (standard regexp) is a quite weak (and immature - as e.g. preventing with ... select ...
clauses) check and may suggest that SQL injection would be prevented in a higher degree.
A) if I am NOT concerned about security/SQL injection in my environment or the cost-value-factor is inefficient (take non-IT budget-responsible people into the boat to decide here!), I would leave it like this for now
B) if I am concerned about security/SQL injection in my environment, I would recommend to
You might be using some special keywords in your SQL query (such as "with" clause). You may need to edit the jasperserver-pro/WEB-INF/classes/esapi/validation.properties file. And edit the line, Validator.ValidSQL=(?is)^\s*(select|ADD_NEW_CLAUSE_HERE)\s+^;+$.
And restart the server.
Proving the queries you use will be helpful for a more comprehensive answer.