[TYPO3-ect] 4.1.0: Request parameters could not be validated

Ernesto Baschny [cron IT] ernst at cron-it.de
Wed Mar 7 13:03:21 CET 2007


Elmar HInz wrote: on 06.03.2007 16:39:

>> I just tested lib/div with 4.1.0. When sending a request I get an error
>> message: 
>>
>> Reason: Request parameters could not be validated (&cHash empty)

> to late I discoverd 4.1 final is out. I tested it directly again. It shows
> the old behaviour of 4.0.x again. 
> 
> pageNotFoundOnCHashError defaults to 0.
> 
> So this problem is solved for now. But autodetection of USER/USER_INT
> should stay on the todo list for reqCHash().

If you got an error setting this to 1, then something is wrong in the
links your are generating. You are probably making some links without a
cHash but with pi-parameters.

I have not followed the entire discussion, but I think it is very
important that the ECT code handles cache well. If there is something in
the core that is missing, we can add that. But I currently don't see it,
maybe you can give me some example that doesn't work.

As I see it:

I would recommend turning pageNotFoundOnCHashError=1 when developing.
This way you will see exactly when TYPO3 expected something to be cached
but it WASN't. Otherwise you don't notice it (it just generates a log
entry) and you think everything is ok, while it isn't.

If you have an USER object with a known set of pi-parameters that only
can come from your own links, you will make use of reqCHash() to test if
this the parameters are ok. This SHOULD be ok, so even when you have
pageNotFoundOnCHashError=1 this should give you no error.

If you have a USER_INT with GET-parameters that you don't generate in
links (e.g. a query from the user) you cannot use reqCHash, as this will
lead to the error if you have pageNotFoundOnCHashError=1.

Usually I try to submit user-generated input (queries) as POST requests,
so that I can have a well known GET URL (in the form's "action"), so
that TYPO3 will be able to cache the entire page for that form-result
(and I can even call reqCHash there). The plugin will be USER_INT, so
that it will get called on each request, regardless on TYPO3 caching the
whole page (TYPO3 will generate a marker in the cache so it knows to
place the output of the USER_INT on a certain position later on).


Cheers,
Ernesto


More information about the TYPO3-team-extension-coordination mailing list