Jump to content
Sign in to follow this  
nfrobertson

Is there a support thread for SID Killer ?

Recommended Posts

Hello. I'm working on my osc shop and am looking for some kind of official support thread for Ian's SID Killer. I've got it installed and working. I also have Ultimate SEO Urls by Chemo installed and working. There's obviously some coding work you have to do to install both of these together. I'm trying to see if anyone else has done this integration so I can see if I've missed anything. Also wanted to point out the SID issue with breadcrumbs since SID Killer install.txt says to install *after* the breadcrumbs line. since breadcrumbs use tep_href_link, if you follow the instructions your Catalog breadcrumb can end up with a SID in it.

 

Anyway, just looking for others that have experience with SID Killer and Ultimate SEO Url integration.

 

Thanks

 

Nathan

Share this post


Link to post
Share on other sites

Oh, and my current issue I"m looking into is the SID that can show up in the Copyright line. This comes from includes/english/english.php FOOTER_TEXT_BODY but since that is way above the SID Killer install point, that too can end up with a SID in it. I'm considering moving the SID killer install point up but, again, wanted to see if anyone has already done this type of troubleshooting and can lend a hand.

 

Thanks.

Share this post


Link to post
Share on other sites

Ok, NM about the breadcrumbs thing. I went back and noticed that SID Killer goes after the include but before the breadcrumbs object creation. I initially put it after and that was my problem.

 

There's still the issue with include/english/english.php. I guess the easiest thing is to take the tep_href_link out so it just displays basic text in the copyright line.

Share this post


Link to post
Share on other sites

Ok, I'm just going to post my modifications to seo.class.php and see if anyone else has thoughts. This is necessary when integrating these two contribs as Ultimate SEO URLs replaces the tep_href_link function in html_output.php. That's the same function that SID Killer modified. I did update the code in html_output.php according to the SID Killer instructions so I can turn off Ultimate SEO URLs and things will still work.

 

Using oscommerce 2.2ms2-051113

 

To combine SID Killer

http://www.oscommerce.com/community/contributions,952 (v1.2a 12/2005)

 

With Ultimate SEO URLs

http://www.oscommerce.com/community/contributions,2823 (v2.2.1e 1/1/2006)

 

In seo.class.php find:

 

/**
* Stock function, fallback use 
*/	
 function stock_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true) {
global $request_type, $session_started, $SID;

 

and change by adding $kill_sid to the end of the global line like:

 

/**
* Stock function, fallback use 
*/	
 function stock_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true) {
// ADD: SID KILLER	
global $request_type, $session_started, $SID, $kill_sid;
// EOADD: SID KILLER

 

Then a little below that find:

 

	if (isset($_sid)) {
  $link .= $separator . $_sid;
}

 

and change it to:

 

// ADD: SID KILLER	
if (isset($_sid) && ( !$kill_sid ) ) {
// EOADD: SID KILLER	
  $link .= $separator . $_sid;	 
}

 

continuing down the file, find the code:

 

	function add_sid( $link, $add_session_id, $connection, $separator ){
	global $request_type; // global variable

 

and again add $kill_sid to the end of the global line like:

 

	function add_sid( $link, $add_session_id, $connection, $separator ){
// ADD: SID KILLER		
	global $request_type, $kill_sid; // global variable
// EOADD: SID KILLER

 

 

finally, a little lower find the code:

 

		if ( isset($_sid) ) return $link . $separator . $_sid;
	else return $link;

 

and change to:

 

// ADD: SID KILLER
	if ( isset($_sid) && ( !$kill_sid ) ) return $link . $separator . $_sid;
	else return $link;
// EOADD: SID KILLER

 

As best I can tell, this is the only two places where SIDs show up.

 

Thoughts?

 

Nathan

Share this post


Link to post
Share on other sites
Ok, I'm just going to post my modifications to seo.class.php and see if anyone else has thoughts. This is necessary when integrating these two contribs as Ultimate SEO URLs replaces the tep_href_link function in html_output.php. That's the same function that SID Killer modified. I did update the code in html_output.php according to the SID Killer instructions so I can turn off Ultimate SEO URLs and things will still work.

 

Using oscommerce 2.2ms2-051113

 

To combine SID Killer

http://www.oscommerce.com/community/contributions,952 (v1.2a 12/2005)

 

With Ultimate SEO URLs

http://www.oscommerce.com/community/contributions,2823 (v2.2.1e 1/1/2006)

 

In seo.class.php find:

 

/**
* Stock function, fallback use 
*/	
 function stock_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true) {
global $request_type, $session_started, $SID;

 

and change by adding $kill_sid to the end of the global line like:

 

/**
* Stock function, fallback use 
*/	
 function stock_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true) {
// ADD: SID KILLER	
global $request_type, $session_started, $SID, $kill_sid;
// EOADD: SID KILLER

 

Then a little below that find:

 

	if (isset($_sid)) {
  $link .= $separator . $_sid;
}

 

and change it to:

 

// ADD: SID KILLER	
if (isset($_sid) && ( !$kill_sid ) ) {
// EOADD: SID KILLER	
  $link .= $separator . $_sid;	 
}

 

continuing down the file, find the code:

 

	function add_sid( $link, $add_session_id, $connection, $separator ){
	global $request_type; // global variable

 

and again add $kill_sid to the end of the global line like:

 

	function add_sid( $link, $add_session_id, $connection, $separator ){
// ADD: SID KILLER		
	global $request_type, $kill_sid; // global variable
// EOADD: SID KILLER

finally, a little lower find the code:

 

		if ( isset($_sid) ) return $link . $separator . $_sid;
	else return $link;

 

and change to:

 

// ADD: SID KILLER
	if ( isset($_sid) && ( !$kill_sid ) ) return $link . $separator . $_sid;
	else return $link;
// EOADD: SID KILLER

 

As best I can tell, this is the only two places where SIDs show up.

 

Thoughts?

 

Nathan

 

Hello,

I have installed the ultimate SEO URLs. I don't know if I have to install the 1.2a before installing your contribution for SID killer or if your contribution is enough without the SID Killer 1.2

 

Thanks lots

Share this post


Link to post
Share on other sites
Hello,

I have installed the ultimate SEO URLs. I don't know if I have to install the 1.2a before installing your contribution for SID killer or if your contribution is enough without the SID Killer 1.2

 

Thanks lots

 

You should probably install Ultimate SEO URLs 2.2.1e first from it's contribution page.

 

Then, if you decide to add SID Killer v1.2a (or v1.2b that I posted) you would use these steps to update the seo.class.php so the two contribs work together.

Share this post


Link to post
Share on other sites

just a note, for sid killer use this in application_top to prevent any kind of session loss

 

if ( !tep_session_is_registered('customer_id') && $cart->count_contents()==0 && $spider_flag ) $kill_sid = true;
else $kill_sid = false;

Share this post


Link to post
Share on other sites
just a note, for sid killer use this in application_top to prevent any kind of session loss

 

if ( !tep_session_is_registered('customer_id') && $cart->count_contents()==0 && $spider_flag ) $kill_sid = true;
else $kill_sid = false;

 

Are you sure that's what you want to do? That will only kill SIDs when a spider has been detected. Can you describe why you want that instead of what the original sid killer provides?

 

 

if ( ($HTTP_GET_VARS['currency']) ) {
  tep_session_register('kill_sid');
  $kill_sid=false;
 }
if (basename($_SERVER['HTTP_REFERER']) == 'allprods.php' ) $kill_sid = true;
if ( ( !tep_session_is_registered('customer_id') ) && ( $cart->count_contents()==0 ) && (!tep_session_is_registered('kill_sid') ) ) $kill_sid = true;
if ((basename($PHP_SELF) == FILENAME_LOGIN) && ($HTTP_GET_VARS['action'] == 'process') ) $kill_sid = false;
if (basename($PHP_SELF) == FILENAME_CREATE_ACCOUNT_PROCESS) $kill_sid = false;
// Uncomment line bellow to disable SID Killer
// $kill_sid = false;

Share this post


Link to post
Share on other sites
Are you sure that's what you want to do? That will only kill SIDs when a spider has been detected. Can you describe why you want that instead of what the original sid killer provides?

if ( ($HTTP_GET_VARS['currency']) ) {
  tep_session_register('kill_sid');
  $kill_sid=false;
 }
if (basename($_SERVER['HTTP_REFERER']) == 'allprods.php' ) $kill_sid = true;
if ( ( !tep_session_is_registered('customer_id') ) && ( $cart->count_contents()==0 ) && (!tep_session_is_registered('kill_sid') ) ) $kill_sid = true;
if ((basename($PHP_SELF) == FILENAME_LOGIN) && ($HTTP_GET_VARS['action'] == 'process') ) $kill_sid = false;
if (basename($PHP_SELF) == FILENAME_CREATE_ACCOUNT_PROCESS) $kill_sid = false;
// Uncomment line bellow to disable SID Killer
// $kill_sid = false;

 

ok, here is my reason, i track who's online quite intensely for a few days after i implemented the seo_url + sid killer, i see a lot of people having 10 or more sessions open at my site at once, which was really strange. Then i realized if you turn off cookie support on ie, which a lot of people actually do that, you have to have the sid on the url to keep the sessions going. You might wonder why keeping the session when user has nothing in cart or he is not logged in. well, i need to be able to track the referral url, without sid id, and with browser cookie disabled, user loses referral right after the second click. Of course, you can track it otherways such as look back on the same ip and same day to see where user is from.

 

in addition, i believe sid-killer creator made it so crawlers don't see the sid in the url, so my change does just that, i rather make sure my visitors are good to go on all browsers, then making tweaks and end up with problems. plus, if user's cookie is enabled, he won't see a sid in the url anyways.

 

comments welcome.

Share this post


Link to post
Share on other sites
ok, here is my reason, i track who's online quite intensely for a few days after i implemented the seo_url + sid killer, i see a lot of people having 10 or more sessions open at my site at once, which was really strange. Then i realized if you turn off cookie support on ie, which a lot of people actually do that, you have to have the sid on the url to keep the sessions going. You might wonder why keeping the session when user has nothing in cart or he is not logged in. well, i need to be able to track the referral url, without sid id, and with browser cookie disabled, user loses referral right after the second click. Of course, you can track it otherways such as look back on the same ip and same day to see where user is from.

 

in addition, i believe sid-killer creator made it so crawlers don't see the sid in the url, so my change does just that, i rather make sure my visitors are good to go on all browsers, then making tweaks and end up with problems. plus, if user's cookie is enabled, he won't see a sid in the url anyways.

 

comments welcome.

 

 

To have such a functionality, you do not need to install the sid killers at all.

 

You go into your shops admin configuration>>sessions and set Prevent Spider Sessions to "True"

 

- Now the spiders/search engines will not get sids at your site......

 

- Ordinary visitors will get the sids one the 1-2 click then they diseapear again.

 

By doing it this way you do not have to modify any files and you will not get problem with any of the functions and/or contribs which relies on session info.

Share this post


Link to post
Share on other sites
To have such a functionality, you do not need to install the sid killers at all.

 

You go into your shops admin configuration>>sessions and set Prevent Spider Sessions to "True"

 

- Now the spiders/search engines will not get sids at your site......

 

- Ordinary visitors will get the sids one the 1-2 click then they diseapear again.

 

By doing it this way you do not have to modify any files and you will not get problem with any of the functions and/or contribs which relies on session info.

 

exactly, sid killer may work but it is more a patch/hack/bandaid than a solution.

 

-prevent spider session

-keep the spiders.txt file up to date

-make sure your cookie settings are ok

-add a p3p cookie privacy policy header (for IE)

 

and you should be ok.


Treasurer MFC

Share this post


Link to post
Share on other sites
Is there a way to test that a spider is going where you want it to or not?

 

you can watch it "prime time" in who's online

you can check your visitors stat records

you can view your server access logs

 

I mean, where do you want them to go today?


Treasurer MFC

Share this post


Link to post
Share on other sites
I want them to go to all my pages and not follow cookie_usage.php or action=buy_now or action=notify or

product_reviews_write.php?products_id= without being killed before they can properly index all relevant pages.

 

well, then don't force cookies, use a relevant robots.txt file and put your actions in forms.


Treasurer MFC

Share this post


Link to post
Share on other sites
thanks for the reply.

could you give an example of how to put action in forms?

 

Thanks.

 

Go to the contrib page for sid killer and get the "buy now links to forms v1.2b"

http://www.oscommerce.com/community/contributions,952

 

That package will help you turn your "buy now" button links into forms instead of links. This is needed so spiders don't the buy now link down a path you don't want them to go.

Share this post


Link to post
Share on other sites

my site is www.redhot.uk.net

 

i installed sid killer which works by telling osCommerce never to produce url sids unless certain circimstances occur.

 

These circumstances are.

 

If a user is logged in.

If something has been put in the cart

If the currency is changed.

 

But does someone know how i can alter the code to include adding something to a wishlist

 

for example:

try adding a product to the wishlist

http://www.redhot.uk.net/guns-roses-tshirt-p-273.html

 

it doesnt work

 

but add something to the cart it will then work

Share this post


Link to post
Share on other sites

Hello,

 

I have installed the SID Killer on our site http://affiliatesexcel.com

and

am trying out your add on to convert button links to forms.

 

I have followed your instructins in the latest version.

While I can get it workingin the calls from the product_listing.php

(except

when the product has attributes in which case it opens the product

description rather than the shopping cart) I can't get them to load

the

shopping cart with the product and the cart comes up empty.

 

Below are the code I use for product New (in my case it is in the

module

directory and called as an include file)and product_review_info

++++++++

<td align="right" valign="middle" class="main"><?php echo '<form

name="buy_now_' . $products_new['products_id'] . '" method="post"

action="'

. tep_href_link(basename($PHP_SELF),

tep_get_all_get_params(array('action'))

. 'action=buy_now', 'NONSSL') . '"><input type="hidden"

name="products_id"

value="' . $products_new['products_id'] . '">' .

tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART);

?></form></td>

 

++++++++++++++++++++

<td align="right" class="main"><?php

// Begin Buy Now button mod

echo '<form name="buy_now" method="post" action="' .

tep_href_link(basename($PHP_SELF),

tep_get_all_get_params(array('action')) .

'action=buy_now', 'NONSSL') . '"><input type="hidden"

name="products_id"

value="' . $review['products_id'] . '">' .

tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART) . '

</form>';

// End Buy Now button mod

?></td>

++++++++++++++++++++++++++++++++++

 

Can't understand why the product won't load in the cart for the above

two,

obviously the somehow the product id is not passed on to the calls.

 

Shall be grateful if you can suggest what may be wrong

 

Shred

Share this post


Link to post
Share on other sites
Go to the contrib page for sid killer and get the "buy now links to forms v1.2b"

http://www.oscommerce.com/community/contributions,952

 

That package will help you turn your "buy now" button links into forms instead of links. This is needed so spiders don't the buy now link down a path you don't want them to go.

 

I have X-Sell installed and the "buy now links to forms" doesn't of course cover that. I don't really know php at all, how would i go about changing those buy it now buttons to forms?

 

Thanks

 

Daz

Share this post


Link to post
Share on other sites

In the instructions to combine the Ultimate SEO URLs and SID Killer, I am having issues finding the following code in the seo.class.php. Should I be looking in another file for this code. I and using sid_killer_v1.2b and Ultimate_SEO_URLs_v2.2.2.

 

if (isset($_sid)) {

$link .= $separator . $_sid;

}

 

Thanks

Share this post


Link to post
Share on other sites

The same thing at my place, there is a new Version of seo.class .

I tried to modify the new one to get the same result, but i am not a coder at all, so i couldnt make it.

 

NFRobertson, could you help please?

 

I am using the version 2.2.2 with the mysql-fix, because my provider upgraded to mysql 5.

the others take this one now as "base-revision".

In those versions there isnt if(isset($_sid) anymore

 

 

sorry for my bad english, have a nice day

Share this post


Link to post
Share on other sites
The same thing at my place, there is a new Version of seo.class .

I tried to modify the new one to get the same result, but i am not a coder at all, so i couldnt make it.

 

NFRobertson, could you help please?

 

I am using the version 2.2.2 with the mysql-fix, because my provider upgraded to mysql 5.

the others take this one now as "base-revision".

In those versions there isnt if(isset($_sid) anymore

sorry for my bad english, have a nice day

 

seo.class.php is an impressively large bit of code. I see there is a new 2.2.2 out there which includes fixes for mysql5. Right now I am still running mysql4 on my shop and don't have the need to upgrade. Honestly, I spent many many hours tracing through the code last time and testing my tweaks to get the specific version 2.2.1e to work "just ok" with SID killer. I'm guessing it'll take a similar amount of time with the new version. I also know that Chemo has his own official version of seo.class.php out there (not on this site) and it is different than the 2.2.1e that I used for my hack with SID killer here.

 

All that being said, I'm sorry I don't have the bandwidth right now to further pursue SEO and SID killer. I'm actually hoping that the oscommerce team tackles these issues in a new release of the software baseline since all the main players who wrote this stuff are now gone.

 

Nathan

Share this post


Link to post
Share on other sites

Hello

 

I have ultimate SEO installed. I have followed the instructions for adding the code for sid killer but not the addiions listed in the SEOclass file.

 

I have checked my site and all seems to be working. Do I need to carry out these further instructions or were they only there for an older version?

 

Is there a way to test if sid killer is working ok?

 

Thanks a lot

 

Olly

Share this post


Link to post
Share on other sites
To have such a functionality, you do not need to install the sid killers at all.

 

You go into your shops admin configuration>>sessions and set Prevent Spider Sessions to "True"

 

- Now the spiders/search engines will not get sids at your site......

 

- Ordinary visitors will get the sids one the 1-2 click then they diseapear again.

 

By doing it this way you do not have to modify any files and you will not get problem with any of the functions and/or contribs which relies on session info.

 

Hi,

 

I was hoping someone would give me a hand here... I was in the process of installing the sid killer contribution and ran into the problem that I cannot find the piece of code in html_output, as instructed, probably because I replaced it with the one or Ultimate SEO URLs. Anyway, I came here to see if I could find the answer and I read your post and was more curious about this than about my sid killer trouble.

 

Now, I have Prevent Spider Sessions as "True" but when I check "Who's Online" often times I see that the link from a guest has a long URL like, ?osC29876062984609jskhblahblahblah, and I an wondering why is that, if that is a sid, if it comes from a spider session or not, and if so how to prevent that.

 

Any help would be greatly appreciated! Thanks!

 

jailaxmi


I repeat myself when under stress, I repeat myself when under stress, I repeat myself...

 

--King Crimson (“Discipline”)

Share this post


Link to post
Share on other sites

Oh, I forgot to add that I have seen the same type of long sid-like URLs after a search engine submission service I use sends me a report, meaning that the submission has included a bunch of URLs to different directories and such, aside from the home page submission to the main engines.

 

This is what prompted me to find a contribution to prevent that from happening again. I was wondering how in the world did that service come up with all those URLs and my guess is that they spidered the site just like any serach engine would. So any ideas regarding this would be greatly appreciated as well!

 

Thanks!

 

jailaxmi


I repeat myself when under stress, I repeat myself when under stress, I repeat myself...

 

--King Crimson (“Discipline”)

Share this post


Link to post
Share on other sites
exactly, sid killer may work but it is more a patch/hack/bandaid than a solution.

 

-prevent spider session

-keep the spiders.txt file up to date

-make sure your cookie settings are ok

-add a p3p cookie privacy policy header (for IE)

 

and you should be ok.

Okay...this may be a stupid question....but how do you make sure your cookie settings are okay?

and what is p3p cookie privacy policy header?

 

And are there any other functions... like BUY NOW buttons... that I need to change to forms to keep the googlebot from following them?

 

I am getting ready to install GOOGLE PAGE RANK for xml or GOOGLE SITEMAP by chemo....so spiders will go there and not get trapped in my BUY NOW buttons and produce SID numbers over and over again indexing my site.

 

Any help in helping me to understand this...thank you.

 

Janet

Share this post


Link to post
Share on other sites

Hi there,

I'm trying to combine sid killer and ultimate seo urls.

 

Since there are modifications to html_output.php(in the instructions) whitch lines are previously modified by ult seo urls do I need to skip(discard) these changes and just to make the described changes to the seoclass file and buynow forms?

 

And also does anybody know problems with other contributions since I have realy a lot installed already ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×