Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> czy można odczytać zmienną sesyjną utworzoną w skrypcie ASP ... w skrypcie PHP ?, <% Session("Wiek") = 28 %>.... a ...<?php echo $
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


Witam,

mam skrypt zrobiony w ASP i tam chciałem do zmiennej sesyjnej przypisać pewną wartość np. tak:

  1. <%
  2. Session("Wiek") = 28
  3. %>


następnie po kliknięciu w link (na tej stronie zrobionej w ASP) , otwiera mi się strona ... Uwaga! ... zrobiona tym razem w PHP.

i teraz tak ... chciałbym tą zmienną sesyjną ze skryptu ASP odebrać na tej stronie ze skryptem PHP np. tak:


  1. <?php
  2. echo $_SESSION['Wiek'];
  3. ?>


czy jest to w ogóle możliwe do zrobienia ? ... czy dobrze to robię ? ... bo niestety na stronie PHP nie udaje mi się odebrać tej zmiennej. A może robi się to w inny sposób ? ... czy lepiej to zrobić w Cookies .. ale tu ze względów bezpieczeństwa nie chciałbym przekazywać pewnych ważnych danych.

dzięki ,pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Wydaje mi się że jak najbardziej smile.gif Ale nie aż tak łatwo ;P

PHP na pewno trzyma sesje jako pliki - wystarczy je otworzyć i unserializować - mamy zmienne sesji.

Sądzę że ASP ma podobnie - jeśli tak jest - nic nie stoi na przeszkodzie aby z PHP odczytać pliki sesji ASP i z ASP pliki sesji PHP - kwestia tylko wykrycia identyfikatora sesji jednego języka w drugim smile.gif



--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
damianooo
post
Post #3





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


no to się wpakowałem ... jeśli tak jest jak mówisz to chyba będzie problem ... gdzie tych informacji mam w takim razie poszukiwać ? ...

a co masz na myśli mówiąc: "Wystarczy je otworzyć i unserializować" ?
Go to the top of the page
+Quote Post
Sephirus
post
Post #4





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Serializacja to proces, który najprościej mówiąc zamieni każdy byt programowania w ciąg znaków. Czyli jesli w sesji mamy na przykład liczbę, czy ciąg znaków, czy nawet tablicę lub obiekt - zostaje on zamieniony na ciąg znaków - można go zapisać do pliku na przykład. deserializacja to proces odwrotny. zobacz funkcję serialize() i unserialize() w PHP wink.gif

Gdzie zacząć szukać... hmmm... proponuje jednak w google poszukać gdzie znaleźć pliki z sesją w PHP i ASP (najpierw jednym potem drugim). jak będziesz wiedział gdzie są pliki to już 1:0 dla Ciebie. Teraz kwestia skąd PHP ma wiedzieć jaki identyfikator sesji ma user pod ASP - sam nie wiem jak się do tego dobrać bo nie miałem styczności z ASP :/ może na jakimś ich forum popytaj.

trzecia rzecz to normalny odczyt pliku z sesją i wczytaniu zmiennych sesyjnych z tego pliku - czyli deserializacja.


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
solr
post
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 8
Dołączył: 11.08.2010

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


Damianooo, twój sposób jest mocno dziwny. Tego się tak nie robi. Po pierwsze, to upewnijmy się, czy skrypt ASP i PHP są na jednym serwerze? Jeśli nie to praktycznie nie ma szans, żeby rozwiązanie Sephirus działało. Napisz, co chcesz zrobić (ogólnie). Jest kilka sposobów, żeby rozwiązać twój problem i wybranie odpowiedniego zależy od szczegółów i wymagań, możesz np. 1) prześlij dane bezpośrednio POST przy kliknięciu; 2) zapisz dane do bazy i przekaż tylko id, a w skrypcie php połącz się z tą bazą i odtwórz sesję; 3) napisz jakiś banalny web-service do synchronizacji danych sesyjnych itd.
Go to the top of the page
+Quote Post
batman
post
Post #6





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Dawno już nie pisałem w ASP (dobrze widzę, że to nie jest .NET?), więc nie jestem pewien, czy mój sposób się sprawdzi.
Jeśli chcesz dzielić sesję między PHP i ASP musisz napisać w obu językach własny handler sesji, który będzie korzystał z tego samego mechanizmu przechowywania danych, np bazy.

Inny sposób jaki przyszedł mi do głowy, to stworzenie w ASP skryptu udostępniającego zmienne sesyjne. PHP będzie odwoływał się go tego skryptu (np. curl) i pobierał dane.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
damianooo
post
Post #7





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


Solr ... jeśli chodzi o to czy oba skrypty to ten sam serwer to jednak nie, więc tamten sposób odpada faktycznie ale co ważne są to serwery tej samej firmy dla której piszę oprogramowanie webowe ... polega to na tym że jedna aplikacja webowa jest napisana w ASP i w niej znajduje sie w menu link (przynajmniej na razie tak jest) do aplikacji webowej mojej który jest na drugim serwerze ... i tutaj mam właśnie problem z przeniesieniem danej a konkretnie loginu do mojej aplikacji aby wiedzieć jaki user jest zalogowany ... skomplikowane ... wiem że źle się do tego zabrałem ale to nie był mój pomysł smile.gif ...

ale mam pytanie w takim razie do Twojego pierwszego pomysłu z przesłaniem danych za pomocą POSTa ... ( rozumiem też że tutaj również musi być ten sam serwer prawda ? )

a więc miałoby to wyglądać tak ( oczywiście nadal są to skrypty na dwóch różnych serwerach, ale w tej samej firmie ):

skrypt w ASP test.jsp

  1. <FORM ACTION="wynik.php" METHOD="POST">
  2. <input type='hidden' name='login' value='alex23'>
  3. Zamówienie
  4. <INPUT TYPE="Submit" NAME="submit" VALUE="Wyslij">
  5. </FORM>


natomiast w PHP wynik.php
  1. <?php
  2.  
  3. $login= $_POST['login'];
  4.  
  5. ?>



chciałbym aby to było takie proste ... ale może można mój problem rozwiązać w inny sposób ?

Ten post edytował damianooo 26.10.2011, 09:16:03
Go to the top of the page
+Quote Post
solr
post
Post #8





Grupa: Zarejestrowani
Postów: 43
Pomógł: 8
Dołączył: 11.08.2010

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


Nie, wysyłanie POSTem nie musi być do tego samego serwera. Np (wysyła do onetu):

  1. <FORM ACTION="http://www.onet.pl/wynik.php" METHOD="POST">
  2. <input type='hidden' name='login' value='alex23'>
  3. Zamówienie
  4. <INPUT TYPE="Submit" NAME="submit" VALUE="Wyslij">
  5. </FORM>


Przesłanie postem jest dobre jednorazowo, tak jak pytałeś, do "odczytania zmiennej sesyjnej utworzonej w ASP za pomocą PHP". Pamiętaj o bezpieczeństwie. To, że dostaniesz login "alex23" to nie znaczy, że gość jest zalogowany. Wysyłaj też hasło i sprawdź, czy pasują. Nie będziesz miał dostępu do niczego, za wyjątkiem danych które przesłałeś POSTem. No i wysyłaj to przez https :-) Ta metoda to dwie oddzielne sesje. Być może potrzebne Ci współdzielenie jednej sesji, wtedy tak jak napisał batman, czy ja częściowo, będziesz musiał utworzyć własne handlery sesji i (najłatwiej) zapisywać je we wspólnej bazie danych.

Go to the top of the page
+Quote Post
by_ikar
post
Post #9





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Wydaje mi się że najlepsze propozycje dał ci @batman. Stworzenie takiej wspólnej bazy ludzi online dla obu stron to nie jest wielki problem. A drugi sposób czyli udostępnianie danych sesyjnych przez jeden skrypt drugiemu również nie jest niczym trudnym do wykonania.

Podczas logowania na jedną ze stron, skrypt sprawdza czy na drugiej stronie konkretny użytkownik który się próbuje zalogować (ofc z powodzeniem wink.gif) czy jest już zalogowany na drugiej stronie, jeżeli tak to pobiera dane sesyjne, tworzy na tej konkretnej stronie nową sesje i wypełnia ją danymi pobranymi z drugiej strony.

Ten post edytował by_ikar 26.10.2011, 13:02:37
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 21:50