Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> kontynuowanie sesji w innej aplikacji
scalar
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 26.04.2003
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


skonstruowałem aplikację we flash jako moduł CMS-a, chciałbym aby po zalogowaniu do systemu można było przekazać linkiem do aplikacji identyfikator sesji a ona już komunikowała by się z bazą danych poprzez "międzymordzie" w php powołując się na zalogowanego użytkownika. Jest to możliwe ?

testowałem funkcję session_id(), pobrałem identyfikator sesji później podczas przesyłania wartości podałem otrzymany identyfikator z którego skorzystałem ponownie poprzez funkcję session_id($identyfikator), niestety nie zadziałało.

proszę o pomoc, death time oddania modułu zbliża się wielkimi krokami.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


A nie lepiej przesłać jakieś konkretne dane z sesji jako parametry do tego skryptu flashowego ? Chyba nie potrzebujesz loginu i hasła?
Go to the top of the page
+Quote Post
scalar
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 26.04.2003
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


sprawa wygląda następująco, logujesz się do CMS-a później linkiem przekazujesz id sesji a aplikacja we flashu aktualizuję bazę danych z uprawnieniami zalogowanego użytkownika. Chodzi o aktualizację punktów na mapie.

na razie eksperymentowałem tak, że tworzyłem we flashu przycisk z linkiem wcześniej logując się do panelu i pobierając aktualny identyfikator sesji:

www.adres.strony.pl/index.php?PHPSESSID=aktualny_identyfikator_sesji&jakieś_zmienne

Ten post edytował scalar 12.03.2010, 12:05:42
Go to the top of the page
+Quote Post
darko
post
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Może coś takiego?
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Długo myślałem nad rozwiązaniem problemu sesji we flashu i zrobiłem to tak:
1) Stworzyłem alias identyfikatora sesji tylko i wyłącznie dla flasha (po to by w kodzie nie przekazywać prawdziwego id sesji)
2) Przekazałem go do flasha we flashvarsach
3) flash przy jakiejkolwiek operacji odwolujacej sie do serwera wysylal alias sesji
[JAVASCRIPT] pobierz, plaintext
  1. var vars:URLVariables = new URLVariables();
  2. vars.session_id = this._aliasIdSesji;
  3.  
  4. var request:URLRequest = new URLRequest();
  5. request.method = 'POST';
  6. request.data = vars;
[JAVASCRIPT] pobierz, plaintext

To wszystko. Bezpieczeństwo polega na tym iż jeżeli nawet alias id sesji zostanie wykradzione to przy odpowiednim zarzadzaniu systemu atakujacy i tak mało co moze z nim zrobić.
Go to the top of the page
+Quote Post
scalar
post
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 26.04.2003
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


ja mam to tak:
  1. var url:String = "http://strona.pl/admin/index.php";
  2. var variables:URLVariables = new URLVariables();
  3. variables.PHPSESSID = "jakiś identyfikator";
  4. variables.page = "menuadd";
  5. variables.group = 1;
  6. variables.idmenu = 0;
  7. variables.action = "menuaccept";
  8. variables.id = 1;
  9. variables.status = "nie";
  10.  
  11. var request:URLRequest = new URLRequest(url);
  12. request.method = 'POST';
  13. request.data = variables;
  14. trace("sendToURL: " + request.url + "?" + request.data);
  15. try
  16. {
  17. sendToURL(request);
  18. }
  19. catch (e:Error)
  20. {
  21. // handle error here
  22. }

i niestety nie działa

dla testu zamieniłem sendToURL() na navigateToURL() i zadziałało tak jak powinno

Ten post edytował scalar 12.03.2010, 13:07:50
Go to the top of the page
+Quote Post
wookieb
post
Post #7





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No to zapomniałem Ci podać kodu php
  1. if(isset($_POST['session_id']))
  2. {
  3. session_id($_POST['session_id']);
  4. ini_set('session.use_cookies', '0');
  5. }


Ten post edytował wookieb 12.03.2010, 14:41:32
Go to the top of the page
+Quote Post
scalar
post
Post #8





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 26.04.2003
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


to nie temat na to forum, ale problem wynikał z miejsca uruchamiania pliku swf, w związku z zabezpieczeniami dostępu (mimo publikacji pliku w wersji "dostępem do sieci") plik zadziałał dopiero uruchomiony z docelowego serwera.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 17:16