- print $cgi->header(-type=>'text/plain', -status=>'403 Permission denied');
- print "Malformed query, file missing or permission denied\n";
- exit 0;
+ error_page("403 Permission denied", "Invalid project parameter.");
+}
+if (defined($action) && !$action =~ m/^[0-9a-zA-Z\.\-]+$/) {
+ error_page("403 Permission denied", "Invalid action parameter.");
+}
+if (defined($hash) && !($hash =~ m/^[0-9a-fA-F]{40}$/)) {
+ error_page("403 Permission denied", "Invalid hash parameter.");
+}
+if (defined($hash_parent) && !($hash_parent =~ m/^[0-9a-fA-F]{40}$/)) {
+ error_page("403 Permission denied", "Invalid parent hash parameter.");
+}
+if (defined($time_back) && !($time_back =~ m/^[0-9]+$/)) {
+ error_page("403 Permission denied", "Invalid time parameter.");
+} else {
+ $time_back = 1;