![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 28.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam coś takiego plik.php Kod <?php session_start(); ?> <script type="text/javascript"> var sessID = '<?=session_id();?>'; </script> <script type="text/javascript" src="plik.js"></script> plik.js Kod alert(sessID); i działa plik.js ma dostęp do identyfikatora sesji, który mogę przekazać gdzieś dalej ajaxem nie istotne, chodzi o to że jeżeli zrobię to w ten sposób to każdy może sobie dać pokaż źródło strony i ma dostęp do zmiennej sessID a tego nie chce, pytanie jak inaczej można to rozwiązać?Chciałem instrukcje Kod var sessID = '<?=session_id();?>'; przenieść do plik.js ale wtedy zamiast identyfikatora sesji mam string '<?=session_id();?>' |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat , chodzi o to że jeżeli zrobię to w ten sposób to każdy może sobie dać pokaż źródło strony i ma dostęp do zmiennej sessID To straszne... przeciez to jego sesja to chyba moze znac jej identyfikator ![]() Zwracaj ten plik js poprzez plik php, wowczas bedziesz mogl wygenerowac ten plik js z sesją. Ale nadal bedzie mozna to odczytac. Za bardzo kombinujesz kolego ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 28.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Może nie potrzebnie dałem przykład z sesją i kolega się na tej zmiennej skupił więc spróbujmy po kolei tak mam plik.php
Kod <?php jeżeli dam pokaż źródło strony to dostane //coś tam się dzieje nie istotne ?> <script type="text/javascript"> var important = "zmienna"; alert(important); </script> Kod <script type="text/javascript"> , ale może nie chce żeby każdy kto wejdzie na stronę widział jak nazwałem sobie zmienną co tam jeszcze robiłem z nią itp chodzi o to żeby użytkownik dostał tylko alerta, więc prosta sprawa robię tak:var important = "zmienna"; alert(important); </script> Kod <?php //coś tam się dzieje nie istotne ?> <script type="text/javascript" src="java.js"></script> java.js: Kod var important = "zmienna"; i ktoś dostaje takiego samego alerta ale dając podgląd strony dostanie jedynie alert(important); Kod <script type="text/javascript" src="java.js"></script> już nie wie jak się nazywała zmienna i w jaki sposób ją uzyskałem okay. Teraz przejdę do sedna sprawy Kod <?php otrzymam to co na początku czyli, że ktoś widzi jak nazywałem zmienna itd więc chciałbym zrobić tak jak przedtem, $str = 'zmienna'; ?> <script type="text/javascript"> var important = '<?=$str;?>'; alert(important); </script> Kod <?php $str = 'zmienna'; ?> <script type="text/javascript" src="java.js"></script> java.js: Kod var important = '<?=$str;?>'; alert(important); Niestety tak nie mogę zrobić bo w rezultacie alert wykrzyczy <?=$str;?>, noi moje pytanie w jaki sposób odwołać się do tej zmiennej by efekt był taki jak poprzednio, ale ktoś zaglądając do źródła nie widział nic oprócz tego, że dołączam plik. Mam nadzieję, że jasno się wyraziłem ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Musisz włączyć obsługę interpretacji PHP w plikach *.js(pliki konfiguracyjne PHP, bodajże php.ini) i jeszcze przekazać zmienną PHP jakoś do tego pliku js. Możesz to zrobić albo za pomocą sesji, albo przekazując ją za pomocą zmiennej supereglobalnej GET np. <script type="text/javascript" src="java.js?zmiennaGET=tu_kod_z_php_echo"></script>
--edit-- Możesz też zrobić coś takiego Kod <script> var zmienaGlobalnaJs = '<?php echo($zmienna); ?>'; </script> <script type="text/javascript" src="java.js"></script> W tym wypadku w pliku java.js(swoją drogą nie myl javy z JavaScript) masz do dyspozycji zmienną globalną zmienaGlobalnaJs. W sumie to możesz jeszcze wykorzystać ciasteczka. Ten post edytował kamil4u 6.05.2010, 16:34:07 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
@zdebol musisz zrozumieć, że w ogóle to co zakładasz z ukrywaniem treści plików *.js jest bezsensowne.
Cytat Kod <script type="text/javascript" src="java.js"></script> i myślisz, że nic nie widać? A co jak wpiszesz adres: www.example.com/java.js ? ;> Można też zrobić taki myk, że wpisując adres www.example.com/java.js, nie widać źródła. 1. Edytujesz plik httpd.conf, dodając do AddType " .js" 2. index.html Kod <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="./file.js"></script> </head> <body> </body> </html> 3. file.js
Ale to na nic, bo wchodząc na index.html plik file.js jest pobrany z serwera, zawiera źródło i przeglądarka go dostała w nagłówku zwrotnym na pytanie o właśnie ten plik... Wchodząc w Firebug`a w zakładkę Skrypty, wybierając file.js zobaczysz jaki plik .js został wygenerowany. Tego nie da się ominąć bo zawsze do przeglądarki musi trafić nagłowek z danymi, co zawierał ten plik, jeśli trafią to są one do zobaczenia. Amen. -------------------- Moja gra - scraby.io
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 28.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Faktycznie trochę się zamotałem z tym ukrywaniem .js, każdy skrypt tak jak kolega wyżej napisał można sobie firebugiem oglądnąć, swoją drogą korzystam z niego chyba biometr nie korzystny
![]() A wracając jeszcze po części do tematu to można to zrobić tak jak kolega kamil4u napisał, włączyć by pliki z rozszerzeniem .js były parsowane jako php(ale to nie w pliku php.ini ). Można to zrobić na kilka sposobów, dla zainteresowanych - albo jeżeli ma się dostęp do pliku konfiguracyjnego apacha httpd.conf dołożyć linijkę AddType application/x-httpd-php .js - albo tą samą linijkę wrzucić do .htaccess Mam jeszcze jedno pytanie ten manewr z dorzuceniem do .htaccess linijki kodu działa mi na localhoscie, działa również na hostingu nazwa.pl, ale nie wiem czemu na hostingu cba.pl nie, myślałem, że może nie dają możliwości korzystania z .htaccess ale dają i działa. Czy ktoś wie czym to może być spowodowane? Ten post edytował zdebol 6.05.2010, 22:02:16 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Cytat Mam jeszcze jedno pytanie ten manewr z dorzuceniem do .htaccess linijki kodu działa mi na localhoscie, działa również na hostingu nazwa.pl, ale nie wiem czemu na hostingu cba.pl nie, myślałem, że może nie dają możliwości korzystania z .htaccess ale dają i działa. Czy ktoś wie czym to może być spowodowane? Domyślam się, że to błąd... Najlepiej zadzwoń/napisz do nich i zapytaj się jak sprawa wygląda, bo nie możesz sobie poradzić... --EDIT-- Cytat ale to nie w pliku php.ini Nigdy nie miałem tej przyjemności, żeby dłużej pobawić się w konfigurację, stąd ten błąd ![]() Ten post edytował kamil4u 7.05.2010, 11:44:59 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 10:16 |