Как заставить php игнорировать PHPSESSID из куки

Кощей

if(!$needle) die("ooh");
Как заставить php игнорировать PHPSESSID из куки

Как явно сказать какую сессию стартовать ?
Проблемма в следующем. Флеш10 научился запоминать куки, при том отдельно от браузера.
На сайте использую флеш заливалку файлов, при посте отправляю PHPSESSID как атрибут чтобы на сервере подхватилась сессия, однако у флеша сохранилась кука со старой авторизации и когда флеш посылает файл, юзер не авторизируется по PHPSESSID из запроса POST, а пытается востановить сессию из куки флеша, что делает невозможным его идентификацию :(
 

dimagolov

Новичок
можно переменную сессии называть нестандартно.
но дело судя по всему не в этом, а в том, что твой флеш ничего не знает про сессионную куку, которая была установленна и храниться в браузере, то есть при обращении к серверу получает новую и начинает с ней работать. ты выясни, как передать сессионную куку в флеш.

п.с. нечто аналогичное я делал для апплета. не нашел ничего умнее, чем передавать SessionId параметром а апплет из HTML-я в теге applet, куда его выводил из session_id(). Так куда проще, чем пытаться апплетом выяснить куку у браузера.
 

pilot911

Новичок
Автор оригинала: dimagolov
можно переменную сессии называть нестандартно.
но дело судя по всему не в этом, а в том, что твой флеш ничего не знает про сессионную куку, которая была установленна и храниться в браузере, то есть при обращении к серверу получает новую и начинает с ней работать. ты выясни, как передать сессионную куку в флеш.

п.с. нечто аналогичное я делал для апплета. не нашел ничего умнее, чем передавать SessionId параметром а апплет из HTML-я в теге applet, куда его выводил из session_id(). Так куда проще, чем пытаться апплетом выяснить куку у браузера.
во флеше можно написать функции, которые умеют читать куки из броузера


PHP:
использование  	var	language =	CookieUtil.getCookie("language");

+ deleteCookie()
+ setCookie()


package classes
{
	import flash.external.ExternalInterface;
	
	public class CookieUtil
	{
		public function CookieUtil()
		{
		}
		
		private static const FUNCTION_SETCOOKIE:String = 
            "document.insertScript = function ()" +
            "{ " +
                "if (document.snw_setCookie==null)" +
                "{" +
                    "snw_setCookie = function (name, value, days)" +
                    "{" +
                        "if (days) {"+
							"var date = new Date();"+
							"date.setTime(date.getTime()+(days*24*60*60*1000));"+
							"var expires = '; expires='+date.toGMTString();"+
						"}" +
						"else var expires = '';"+
						"document.cookie = name+'='+value+expires+'; path=/';" +
		            "}" +
                "}" +
            "}";
		
		private static const FUNCTION_GETCOOKIE:String = 
            "document.insertScript = function ()" +
            "{ " +
                "if (document.snw_getCookie==null)" +
                "{" +
                    "snw_getCookie = function (name)" +
                    "{" +
                        "var nameEQ = name + '=';"+
						"var ca = document.cookie.split(';');"+
						"for(var i=0;i < ca.length;i++) {"+
							"var c = ca[i];"+
							"while (c.charAt(0)==' ') c = c.substring(1,c.length);"+
							"if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);"+
						"}"+
						"return null;" +
		            "}" +
                "}" +
            "}";
     
            
        private static var INITIALIZED:Boolean = false;
		
		private static function init():void{
			ExternalInterface.call(FUNCTION_GETCOOKIE);
			ExternalInterface.call(FUNCTION_SETCOOKIE);
			INITIALIZED = true;
		}
		
		public static function setCookie(name:String, value:Object, days:int):void{
			if(!INITIALIZED)
				init();
			
			ExternalInterface.call("snw_setCookie", name, value, days);
		}
		
		public static function getCookie(name:String):Object{
			if(!INITIALIZED)
				init();
			
			return ExternalInterface.call("snw_getCookie", name);
		}
		
		public static function deleteCookie(name:String):void{
			if(!INITIALIZED)
				init();
			
			ExternalInterface.call("snw_setCookie", name, "", -1);
		}

	}
}
 
Сверху