Uploaded image for project: 'Apache Roller'
  1. Apache Roller
  2. ROL-1276

Referrer spam can lead to OOM

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Abandoned
    • 2.3
    • None
    • Pings and Trackbacks
    • None
    • Presumably relatively small heap limit.

    Description

      Excerpt from an email on roller-user from koji lin <koji.lin@gmail.com>

      hi

      my roller site pops an error message like

      org.apache.velocity.exception.MethodInvocationException: Invocation of
      method 'g
      etTodaysReferers' in class
      org.apache.roller.presentation.velocity.PageModel th
      rew exception class java.lang.OutOfMemoryError : null

      and i found there is an post before

      http://www.nabble.com/Referer%27s-problems-tf1312047s12275.html#a3498051

      i found there is more than 10000 spam referer too in my site.

      after tracing the code, i think the problem is here

      referer.vm

      #macro( showReferers $max $maxWidth )
      <p>$text.get( "macro.referer.todaysHits" ) $pageModel.getDayHits()</p>
      #set( $refs = $pageModel.getTodaysReferers() )
      <ul class="rReferersList">
      #foreach( $ref in $refs )
      #if ($velocityCount <= $max)
      <li class="rReferersListItem">#refererDisplayUrl( $ref $maxWidth
      true)</li>
      #end
      #end
      </ul>
      #end

      looks like it fetches all the referes then limit the size,
      and if there are so many refere will cause the problem.

      my roller version is 2.3.

      koji

      Attachments

        Activity

          People

            roller_unassigned Roller Unassigned
            agangolli Anil Gangolli
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: