On a live website, anonymous users can take some quizzes.

Now a small percentage of page loads results in a false 403. With between 10-25 users doing the tests, about every minute some of them gets a false 403 page showing up instead of:

  • The next question of the quiz
  • The quiz result

Although it was pretty hard to reproduce this on command, I found a way to get (at least) a false 403 by doing the following:

At the last question of a quiz with 15 multiple choice questions, after you press 'finish' (very) quickly change the answer of your 1st choice to another answer and quickly hit 'finish' again

The URL of the 403 is then actually the url of the last question (not the url of the quiz result). In this example /node/69/take/15

While I can only reproduce this sudden 403 this way, the visitors on the website get 403's also while navigating to the next question in the middle of a quiz.

All the access denied logs just have the previous question as the referrer path. For example:

Location of the 403:
/node/69/take/10

Referrer:
/node/69/take/9

Comments

Rodgey created an issue. See original summary.

Rodgey’s picture

Issue summary: View changes
Rodgey’s picture

Issue summary: View changes
jukka792’s picture

I have exactly same issue. I hide all the "next" and "prev" -buttons after a user click but still users gets 403 time to time.
I have about 30 concurrent users and in the logs about 6 403 in a minute.

Da_Cloud’s picture

Status: Active » Closed (duplicate)

Marking this issue as duplicated as it seems to be the same issue as #2343113: Double click of "next question" -button causes "no access"

Rodgey’s picture

Status: Closed (duplicate) » Active

Setting as active again. Maybe it is related, but its not the same, since double clicking doesnt produce a 403 in my case...

@jukka792 can you reproduce the 403 that i described?

I also noticed that preventing actions during page loads (with 'page load process' module) doesn't help to prevent the 403's..

Maybe this issue should be set to critical?

Rodgey’s picture

Is there anyone who found a solution to this problem?

I am planning to downgrade to quiz 4 this week :(

ardnet’s picture

I think I'm having similiar issue. I've upgraded to Quiz 5 and I got this error message below, and I haven't found a solution yet to solve this issue.

Error: Call to a member function getLayout() on boolean in quiz_question_feedback_access() (line 3642 of /var/www/sites/test.xxx.com/www/sites/all/modules/contrib/quiz/quiz.module).

I've reproduced the issue by doing load testing with 50 to 100 concurrent users.
Any help greatly appreciated, thanks!

Da_Cloud’s picture

@ardnet The issue your experiencing sounds like its more in line with #2826045: Can't take quizzes.

ardnet’s picture

Da_Cloud, ah you're right, thanks!
I'll post my comment in that thread too then.