Tarayıcınızda "oturum" taşımak gerekiyor

3 Cevap php

Ben kullanıcı tarayıcı aracılığıyla etkileşime hepsi bir "birincil" PHP script (komut aslında bir dizi) var. Ben bilgi sayfadan çalışır oturum olarak siteyi kullanarak hiçbir sorun yaşadım.

Ancak, komut biri doğrudan CURL kullanarak benim sitede başka bir "ikincil" php komut dosyası çağırın ve "ikincil" komut "birincil (şu anda kullanıcı, vb giriş içerir) php oturum hakkında bilgi almak için ihtiyaç duyduğu ihtiyacı ". Ben CURL de "ikincil" biri "birincil" php script oturum bilgi aktarmak gerekir. Bunu nasıl yapabilirim herhangi bir öneriniz?

Hayır, ben (çok güvensiz) burada çerezleri kullanmak istemiyorum.

3 Cevap

PHP oturumları için bir tanımlama bağlı tanımı neredeyse vardır (gerçi can also be passed as a request parameter). Yani oturum kimliği tanımlama yönlendirme hem komut yüklemek aynı PHP varsayarak, gitmek için en iyi yol olabilir.

Sen session_name() Brian işaret gibi varsayılan PHPSESSID tarafından oturum adı / cookie adını almak için kullanabilirsiniz.

Ben Eğer onlar güvensiz çünkü çerezleri kullanmak istemiyorum dedim biliyorum. Aşağıdaki çözüm olarak, istemci tarafında oturum tanımlama ikinci bir isteği üzerine "iletilen" dir. Yerel makineye bir çerez iletme hiçbir güvenlik dezavantajları oluşturmanız gerekir.

Sen yeni sunucu tarafı isteği istemci tarayıcısından oturum tanımlama geçebilir (işaret için Ben'e teşekkürler session_name).

$curl_cookies = session_name() . '=' . session_id() . '; path=/';
curl_setopt($ch, CURLOPT_COOKIE, $curl_cookies);

Basitlik için, ben sadece (ben de bu oturumun çerez önemli sayıyorum) PHPSESSID çerez geçiyorum.

neden sadece içinde oturum kimliği ile bir http sorgu dizesi parametre göndermek değil?

(pseudocode) Örneğin:

curl.send ('http://myserver.com/myapplication.php?session%5Fid=' getSessionId ().)