VBulletin setcookie

Trần Minh Quân
(CA RO)

Điều hành viên
Có ai bít func setcookie của vB ở file nào ko ạ, lâu ko dùng vB ko nhớ nữa :( hoặc có ai bít cách login 1 domain register cookie cho domain khác cùng lúc luôn ko ạ?
 
Re: VBulletin!

trong vB Options có thì phải :D
 
Re: VBulletin!

có đã tốt :(( vB chỉ hỗ trợ 1 domain thôi, mod down về, ko dùng dc, bó tay :| em có cách nào ko?
 
Re: VBulletin!

trong option, co the set domain = blank => no set cho any domain (current)

con muon sua thi o trong nay


includes/functions.php
PHP:
// #############################################################################
/**
* Sets a cookie based on vBulletin environmental settings
*
* @param    string    Cookie name
* @param    mixed    Value to store in the cookie
* @param    boolean    If true, do not set an expiry date for the cookie
* @param    boolean    Allow secure cookies (SSL)
* @param    boolean    Set 'httponly' for cookies in supported browsers
*/
function vbsetcookie($name, $value = '', $permanent = true, $allowsecure = true, $httponly = false)
 
Ý em là login tại domain A, cookie tạo cho cả domain A và B, còn domain = blank thì vẫn phải login 2 lần)

---

Cái này thì đúng hơn?
Cái kia param ko có domain mà, em cũng ko xem kĩ lắm, nhưng chỉ có mỗi cái này thì mới có setcookie, mà em thử thêm manually vào nhưng vẫn ko được, có cái mod CES_XS_COOKIE, nó login được nhưng phải vào cái link nó include trong cái page redirection của login thì mới đc.

Nó gọi cái file để tạo cookie cho domain kia (login tại A nó gọi cái script tại domain B để tạo cookie đồng thời cho 2 bên -
no set cho any domain (current)
) nhưng em ko hiểu sao, khi em copy link của script vào thủ công thì nó tạo được, còn khi include như 1 cái ảnh thì ko được)

<img src="url/ces______.php?userid=...&pass=...&sessionhash=...">
Mã:
define('SESSION_BYPASS', 1);
define('LOCATION_BYPASS', 1);
define('SKIP_SESSIONCREATE', 1);
define('THIS_SCRIPT', 'ces_xs_cookies');

$phrasegroups = array();
$specialtemplates = array();
$globaltemplates = array();
$actiontemplates = array();

chdir(dirname(__FILE__) . "/..");
	
require_once('./global.php');
require_once('./includes/functions_login.php');
require_once('./includes/adminfunctions.php');

// had to move main function
// or it stops working if bbactive = 0

if ($vbulletin->options['ces_cookie_debug'])
{
	echo $vbphrase['ces_cookie_complete'];
}
else
{
	// return cleargif
	$filedata = base64_decode('R0lGODlhAQABAIAAAMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
	$filesize = strlen($filedata);

	header('Content-type: image/gif');

	if (!(strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS') !== false AND strpos(SAPI_NAME, 'cgi') !== false))
	{
		header('Content-Length: ' . $filesize);
		header('Connection: Close');
	}

	echo $filedata;
}

flush();


Mã:
// #############################################################################
/**
* Calls PHP's setcookie() or sends raw headers if 'httponly' is required.
* Should really only be called through vbsetcookie()
*
* @param	string	Name
* @param	string	Value
* @param	int		Expire
* @param	string	Path
* @param	string	Domain
* @param	boolean	Secure
* @param	boolean	HTTP only - see http://msdn.microsoft.com/workshop/author/dhtml/httponly_cookies.asp
*
* @return	boolean	True on success
*/
function exec_vbsetcookie($name, $value, $expires, $path = '', $domain = '', $secure = false, $httponly = false)
 
em sắp tới cũng cần dùng forum chung cho vài site nên cũng cần làm cái này :D anh đang làm site nào thế :D
 
em thấy PHP có sẵn hàm setcookie() mà anh, chỉ cần cho thêm cái function đấy vào là xong chứ nhỉ :"> :
PHP:
setcookie("bbsessionhash", $value, time()+3600, "/", ".hn-ams.net");
 
em iu, nó ko đơn giản thế hay sao ý, vB nó check loạn lên Salt với DB nữa, anh ko có time hiện tại nên ko nhìn kĩ lắm, anh thử thêm setcookie thẳng vào, thêm thủ công cho từng domain mà lúc nó exec_vbcookie, nó vẫn ko chịu set cho nhờ :(
 
Back
Bên trên