Announcement

Collapse
No announcement yet.

Actinic_referrer

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Actinic_referrer

    My site gets slower and slower the more a user clicks around the site after they have logged in. All I can see is that ACTINIC_REFERRER grows to VERY large size. It looks to be concantanating every page viewed and not using just the last referrer. Of course that is just what I think it should do and could be way off base. Here is the site- http://www.twelvedown.com/index.php and the login is Dan and pwd is twelve.
    Can anyone give any guidance?

    Thanks in advance!!
    Dan

    #2
    Hi Dan,

    Checking your site, (nice site by the way ), i see what you mean about the ACTINIC_REFERRER. What happens if you click on a subsection? The ACTINIC_REFERRER Should shrink. The referrer should be for pages outside of the catalog, but i will ask development for a full writeup on what ACTINICE_REFERRER does and how it should work

    Kind Regards
    Nadeem Rasool
    SellerDeck Development

    Comment


      #3
      Thanks
      Dan

      Comment


        #4
        Hi Dan,

        very nice site. You may want to look at the link to "products" across the top - if you don't select anything from the drop down but just the "products" tab it directs to an error page for no input file specified... this does not happen with just clicking on the "customer care" tab.

        Best keep the GF away from the "Passion and Chocolate" fonts


        Bikster
        SellerDeck Designs and Responsive Themes

        Comment


          #5
          I just clicked on one of your FAQ anchors and was shown the contents of your directory

          (http://www.twelvedown.com/cgi-local/...PAGE=faq%2ephp)

          You had best put an index.html page in there el pronto. Thought you'd like to know before Mr and Mrs John C Hacker find you.
          http://www.johnsons-seeds.com - Actinic plugins, remote add to cart and custom CMS
          http://www.dtbrownseeds.co.uk - More seeds and plants....
          http://www.mr-fothergills.co.uk - Well it used to be Actinic...

          Comment


            #6
            Hi Dan,

            Sorry for the long delay, the reason is that you had found a bug. Its really not suppose to do this.

            Okay for the workaround fix, please do the following:

            Edit Actinic.pm in the site1 folder.
            Search for 'sub ParseReferrer'
            Scroll down to..

            if (($sURL !~ /\/$/) &&

            Insert the following *before* this line...

            $sURL =~ s/(.*)([\?|\&]ACTINIC_REFERRER=.*?)(\&.*|$)/$1$3/i;
            if (defined $::g_InputHash{ACTINIC_REFERRER})
            {
            $::g_InputHash{ACTINIC_REFERRER} = $sURL;
            }

            Should now read...

            $sURL =~ s/(.*)([\?|\&]ACTINIC_REFERRER=.*?)(\&.*|$)/$1$3/i;
            if (defined $::g_InputHash{ACTINIC_REFERRER})
            {
            $::g_InputHash{ACTINIC_REFERRER} = $sURL;
            }
            if (($sURL !~ /\/$/) &&

            Save and exit
            Update site
            Please note that a bad referrer may already be in the session file but this
            should get corrected after viewing a couple of sections.

            Kind Regards
            Nadeem Rasool
            SellerDeck Development

            Comment


              #7
              Nadeem-
              My actinic.pm file doesn't have the if statement if (($sURL !~ /\/$/) && ... in sub ParseReferrer. It is missing the boolean '&&' and whatever else the condition needs to meet. I will try it before the if statement I have.

              here is the method

              sub ParseReferrer
              {
              my ($sURL);
              $::g_bRealReferrer = $::TRUE; # flag to indicate source of URL
              $sURL = $::g_sReferrer; # get local copy of globally stored referrer
              if ((defined %::g_InputHash) && # override the real referrer with the passed value
              (defined $::g_InputHash{ACTINIC_REFERRER}))
              {
              $sURL = $::g_InputHash{ACTINIC_REFERRER};
              }
              #
              # There are four possibilities here
              # We have a URL from HTTP_REFERER
              # We have a URL from ACTINIC_REFERRER cookie
              # We have a URL from ACTINIC_REFERRER input field
              # We don't have a URL, in this case we shall invent one
              #
              if ($sURL eq '') # empty URL (blocked HTTP_REFERER and referrer cookie not set)
              {
              if (ACTINIC::IsCatalogFramed()) # framed Catalog
              {
              $sURL = $$::g_pSetupBlob{CATALOG_URL} . $$::g_pSetupBlob{FRAMESET_PAGE}; # URL of frameset
              }
              else # not framed
              {
              $sURL = $$::g_pSetupBlob{CATALOG_URL} . $$::g_pSetupBlob{CATALOG_PAGE}; # URL of Catalog
              }
              $::g_bRealReferrer = $::FALSE; # generated referrer URL
              }

              if( $sURL !~ /\/$/ ) # Make sure that if URL is a directory it ends with '/'
              {
              my @lFields = split('/',$sURL); # Split it into fields
              my $sFnam = pop @lFields; # Get last field
              #
              # Check if it looks like a file name
              #
              if ($sFnam !~ /\./) # it doesn't seem to be a filename
              {
              if ($sFnam =~ /\?/ || # however it could be a file ref if it inlcudes cgi parameters
              $sFnam =~ /&/)
              {
              $sURL = ''; # this is not a valuable URL for us - could be misleading, so delete it
              }
              else
              {
              $sURL .= '/'; # looks like a directory without trailing '/', add it
              }
              }
              else # it could be a file
              {
              pop @lFields;
              my $sPrev = pop @lFields; # Get the previous entry
              if ($sPrev=~ /^http(s?):/) # Is it http/https?
              { # If so then the referrer is a server only
              $sURL .= '/'; # so add trailing '/'
              }
              }
              }
              #
              # SSL bounce passes the cookie content as CGI parameter. It could be a long string
              # which leads to hanging pages on java/javascript redirects because IE6 security
              # changes (cix:act_dev/enquire_within:1335)
              # So just strip this parameter when the referrer is requested.
              #
              $sURL =~ s/COOKIE\=[^\&]*\&//;

              if ((defined $::g_InputHash{challenge}) && # and it was the business login page
              (!defined $::g_InputHash{ACTINIC_REFERRER})) # and ACTINIC_REFERRER is not defined
              {
              $::g_InputHash{ACTINIC_REFERRER} = $sURL; # store the base page
              }
              $::g_sReferrer = $sURL; # store the modified URL
              }

              Comment


                #8
                Hi there

                My Actinic.pm has this, what version of Actinic are you on, the fix was written for 7.0.3 in mind.

                Its also in 7.0.2 Actinic.pm, i've just checked this and 7.0.1, the line you are looking for is:

                Code:
                if( $sURL !~ /\/$/ ) # Make sure that if URL is a directory it ends with '/'
                Kind Regards
                Last edited by Nadeem; 04-May-2005, 01:19 PM. Reason: More Information Added
                Nadeem Rasool
                SellerDeck Development

                Comment


                  #9
                  US Version

                  Nadeem-
                  I am on 7.0.1.1.0.0 ESGA. I thought I was up to date on the US version. Is there an upgrade I am missing?

                  I put in the line that was similar and am testing now.

                  Thanks for the follow ups on the issue. I forgot to say that in the previous post, and don't want you to think I am ungrateful.

                  Dan

                  Comment


                    #10
                    Hi there

                    Yes we are now on 7.0.3.0.0.0.FBIA. You can download the latest patch from here.

                    [quote]Thanks for the follow ups on the issue. I forgot to say that in the previous post, and don't want you to think I am ungrateful.[quote]
                    Thanks, No worries glad to have helped

                    Kind Regards
                    Nadeem Rasool
                    SellerDeck Development

                    Comment


                      #11
                      FYI-
                      The fix is working. Pass on my regards to the dev staff that assisted me. I will apply the patch. Although I have to review the changes I have made to the pm files, this and other documented changes in the Advanced Users Guide.

                      Thanks again for the prompt replies.
                      Dan

                      Comment

                      Working...
                      X