![]() |
![]() |
![]()
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:
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:
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 |
|
|
![]() |
![]()
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
![]() 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 ![]() -------------------- 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... |
|
|
![]()
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ć" ? |
|
|
![]()
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
![]() 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... |
|
|
![]()
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.
|
|
|
![]()
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. |
|
|
![]()
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ł
![]() 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 natomiast w PHP wynik.php
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 |
|
|
![]()
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):
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. |
|
|
![]()
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 ![]() Ten post edytował by_ikar 26.10.2011, 13:02:37 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 21:50 |