vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   How to disable cookies being served to guests? (https://vborg.vbsupport.ru/showthread.php?t=275023)

Marvin Hlavac 12-04-2011 12:47 PM

How to disable cookies being served to guests?
 
I'd like to not serve cookies to guests. How would I go about implementing it?

kh99 12-04-2011 04:44 PM

NOCOOKIES can be defined to stop cookies from being created, but the problem is that some cookie values are set before you know if you have a guest or a logged in user. But I think you might be able to remove cookies from the headers before they're sent, so maybe something like:

PHP Code:

if ($vbulletin->userinfo['userid'] == 0)
{
    
define('NOCOOKIES'1);
    
header_remove('Set-Cookie');



in a plugin using hook [S]global_bootstrap_init_start[/S] global_start.

Marvin Hlavac 12-04-2011 05:16 PM

Hi kh99,

Thanks very much for that. For some reason, my vBulletin (3.8.x) doesn't seem to have the global_bootstrap_init_start hook though.

kh99 12-04-2011 05:54 PM

Quote:

Originally Posted by Marvin Hlavac (Post 2274610)
Hi kh99,

Thanks very much for that. For some reason, my vBulletin (3.8.x) doesn't seem to have the global_bootstrap_init_start hook though.

Oops - that's only in vb4 :o. Use global_start.

Marvin Hlavac 12-04-2011 06:20 PM

Kevin, when the header_remove('Set-Cookie'); is present in the plug in, a guest sees a white page with the following error:

Fatal error: Call to undefined function header_remove() in /home/xxxxxx/public_html/test/global.php(400) : eval()'d code on line 48


The define('NOCOOKIES', 1); alone doesn't prevent cookies from being sent.

I very much appreciate your help, as I have absolutely no clue how to implement this.

EXIDE 12-04-2011 06:28 PM

Quote:

Originally Posted by Marvin Hlavac (Post 2274625)
Kevin, when the header_remove('Set-Cookie'); is present in the plug in, a guest sees a white page with the following error:

Fatal error: Call to undefined function header_remove() in /home/hlavac/public_html/test/global.php(400) : eval()'d code on line 48


The define('NOCOOKIES', 1); alone doesn't prevent cookies from being sent.

I very much appreciate your help, as I have absolutely no clue how to implement this.

You need to be using PHP 5.3.0 to use that function.

Marvin Hlavac 12-04-2011 06:32 PM

Hi Exide,

I may be out of luck then, as I'm currently using PHP 5.2.17. But I will consider upgrading.

Thanks to both for help. If/when I upgrade, I will post how the plug-in works.

kh99 12-05-2011 11:01 PM

Yeah, sorry, I never thought to check that. But something else I discovered the hard way - if you never serve cookies to guests, no one can ever stay logged in. (...or more precisely, everything will work OK for logged in users with "Remember Me" checked, but no one else will be able to log in).

So that code will need to check THIS_SCRIPT or something to make sure if a user is in the process of logging in, cookies are sent.

Marvin Hlavac 12-06-2011 12:14 AM

Thanks, Kevin. Yeah, I was afraid this could cause issues with logging in :-(


All times are GMT. The time now is 04:33 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01088 seconds
  • Memory Usage 1,732KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (9)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete