When a view displays an exposed filter or some other sort of form (e.g. Webform node) it becomes problematic if you use the time-based views caching for its output. You get forms pre-filled with other users' search terms/data and "illegal choice has been detected" whenever they are submitted.

It'd be cool if Views could somehow be smart about this and disable the renderable output caching option in the event that <form> appears in its output somewhere.

Comments

iamjon’s picture

Assigned:Unassigned» merlinofchaos

Assigning to merlinofchaos for review

merlinofchaos’s picture

Hmm. The actual exposed input used should be part of the cache key, so I'm surprised that this happens. You shouldn't get other users input in the exposed form.

dawehner’s picture

Mh

        foreach (array('exposed_info', 'page', 'sort', 'order') as $key) {
          if (isset($_GET[$key])) {
            $key_data[$key] = $_GET[$key];
          }
        }

That's all get parameters which are used here.

tomgf’s picture

johnv’s picture

Category:feature» bug
Status:Active» Closed (duplicate)