Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2009-01-09 17:27:33

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

usuwanie danych $_GET w linku przeglądarki

witam
jak otrzymać takiego typu linki w przeglądarkach :

Kod:

przykład z gazeta pracy :

http://praca.gazetapraca.pl/0,4001,,,,,,,%7B1%7D,,,,%7B2%7D.html

chodzi o ukrywanie nazw zmiennych przesyłanych przez GET w php

Offline

 

#2  2009-01-09 18:46:41

  czadman - Bicycle repairman

czadman
Bicycle repairman
Skąd: Wrocław
Zarejestrowany: 2005-07-08

Re: usuwanie danych $_GET w linku przeglądarki

Nie da się ukryć żadnych danych przesyłanych przez GET czy POST. A w ogóle to jakiego typu to jest link i co w nim jest takiego ukrytego? Znaki specjalne i niedrukowalne są zakodowane szesnastkowo, ot cała konspiracja. Chyba każdy język ma funkcje do zakodowania url w ten sposób. W php to urlencode i urldecode.


http://www.debian.org/logos/openlogo-nd-50.png

Offline

 

#3  2009-01-10 01:07:07

  procet - Użytkownik

procet
Użytkownik
Zarejestrowany: 2009-01-03

Re: usuwanie danych $_GET w linku przeglądarki

IMO wszystko zależy co oznacz "ukryć".

Jeżeli nie chcesz by użytkownik widział zmienne GET w adresie to możesz używać POST w komunikacji. Jeżeli musisz używać GET to możesz wszytko kodować do BASE64 i potem w javascript parsować wartości.

Offline

 

#4  2009-01-10 09:34:54

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Re: usuwanie danych $_GET w linku przeglądarki

tak ,wiem ze moge uzyc $_POST ,ale w linku moge jedynie uzywać $_GET ,poprostu chciałbym wiedziec jak to robią inni ze nazwy zmiennych są ukrywane w linku ,moze to jest robione przez moduł rewrite apacha ,ale narazie mój apach sprawia ogromny problem i nie akceptuje pliktów .htaccess :(

Offline

 

#5  2009-01-10 10:19:30

  czadman - Bicycle repairman

czadman
Bicycle repairman
Skąd: Wrocław
Zarejestrowany: 2005-07-08

Re: usuwanie danych $_GET w linku przeglądarki

Często dane z linku wyciąga się przy pomocy wyrażeń regularnych. To oznacza, że nie ma nazw zmiennych w linku - tylko dane. Zapoznaj się z dokumentacją dowolnego dobrego frameworka webowego.
Możesz sobie zobaczyć jak to robi CakePHP
http://book.cakephp.org/view/46/Routes-Configuration
lub django
http://docs.djangoproject.com/en/dev/topics/http/ur … ics-http-urls

Zakodowanie czegokolwiek przy pomocy base64 niczego nie ukryje bo każdy może sobie odkodować.


http://www.debian.org/logos/openlogo-nd-50.png

Offline

 

#6  2009-01-10 17:47:19

  procet - Użytkownik

procet
Użytkownik
Zarejestrowany: 2009-01-03

Re: usuwanie danych $_GET w linku przeglądarki

Prawda jest taka, że w linku nic nie ukryjesz :)

Co do django to link to strony może wyglądać tak:
http://strona.pl/2008/12/1/news/
co czytać należy tak http://strona.pl/<rok>/<miesiac>/<dzien>/news/

Tylko, że nie jest to ukrywanie danych, raczej inna forma ich prezentacji.

Offline

 

#7  2009-01-10 18:34:21

  czadman - Bicycle repairman

czadman
Bicycle repairman
Skąd: Wrocław
Zarejestrowany: 2005-07-08

Re: usuwanie danych $_GET w linku przeglądarki

procet napisał(-a):

Co do django to link to strony może wyglądać tak:
http://strona.pl/2008/12/1/news/
co czytać należy tak http://strona.pl/<rok>/<miesiac>/<dzien>/news/

Wcale tak nie należy. Można go sobie dopasować zupełnie inaczej.


http://www.debian.org/logos/openlogo-nd-50.png

Offline

 

#8  2009-01-10 22:17:21

  qluk - Pan inż. Cyc

qluk
Pan inż. Cyc
Skąd: Katowice
Zarejestrowany: 2006-05-22

Re: usuwanie danych $_GET w linku przeglądarki

Ech.... Zacznijmy od tego, czadman, a jka chcesz w laczu zamiescic dane post :P ;] Sama ich specyfika daje nam "ukryte" w linku dane post, a to ze ich brak ... ;]

szewczyk: przeciez masz tam wlasnie zapytanie z uzyciem GET, wszystko lyka index.php (a dokladnie defaultowy plik skonfigurowany na serwerze bo watpie by pisali to w PHP, obstawialbym Ruby, albo pythona) i parsuje, a to ze na koncu jest html znaczy tyle ze autor calej aplikacji przewiduje mozliwosc ze dane beda zwracane w innej formie ot np. SWF, albo SVG, czy CVS dla mobilnych.

procet: pieprzysz trzy po trzy, format linku jest opicany odpowiednia specyfikacja. A django to gotowy framowrk w pythonie, wiec mozna by uzywac nawet Ruby on the rails i link zawsze bedzie taki sam! To co podajesz to nic innego jak katalogowanie.

Ostatnio edytowany przez qluk (2009-01-10 22:19:34)

Offline

 

#9  2009-01-10 23:02:32

  czadman - Bicycle repairman

czadman
Bicycle repairman
Skąd: Wrocław
Zarejestrowany: 2005-07-08

Re: usuwanie danych $_GET w linku przeglądarki

qluk napisał(-a):

Ech.... Zacznijmy od tego, czadman, a jka chcesz w laczu zamiescic dane post :P ;] Sama ich specyfika daje nam "ukryte" w linku dane post, a to ze ich brak ... ;]

Kurcze, nie da się w linku takich rzeczy, ale czemu pijesz z tym do mnie? Jakąś herezję popełniłem? ;)


http://www.debian.org/logos/openlogo-nd-50.png

Offline

 

#10  2009-01-11 23:26:32

  grzegorz.85 - Członek DUG

grzegorz.85
Członek DUG
Skąd: Ostrołęka
Zarejestrowany: 2007-07-12
Serwis

Re: usuwanie danych $_GET w linku przeglądarki

Z tego co ja zrozumiałem pytanie, to koledze nie chodzi o ukrywanie zmiennych, a nazw zmiennych GET.

Aby z linku:

http://www.strona.pl/index.php?zmienna1=1&zmienna2=2

otrzymać taki:

http://www.strona.pl/1,2,index.html

jedynym sposobem jaki przychodzi mi do głowy to jedynie wspomniany przez ciebie rewrite apacha. Lub ewentualnie zabawa ze stroną błędu 404 (nie masz przecież takiego pliku na serwerze, wiec zostaniesz przeniesiony na 404) który odpowiednio zmodyfikowany może na podstawie zmiennej $_SERVER['REQUEST_URI'] przekierować na odpowiendni url lub jak kto woli odpalic, i wyswietlic uzytkownikowi bez przekierowania. Tylko teraz pytanie, czy da radę użyć w pliku błędu 404 skryptu języka PHP? No i druga sprawa, że to także może wymagać ingerencji w .htaccess. Polecam więc poprawną konfigurację, ewentualnie naprawę apacha, i skorzystanie z mod-rewrite, tutaj masz jego dokumentacje:

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

Offline

 

#11  2009-01-14 10:44:42

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: usuwanie danych $_GET w linku przeglądarki

a na co komu re-write apache? zeby miec link typu 1,,4563,news.html nie potrzebny jest zaden re-write wystarczy uzyc tego lub tego i po problemie


LRU #480459

Offline

 

#12  2009-01-14 16:42:23

  grzegorz.85 - Członek DUG

grzegorz.85
Członek DUG
Skąd: Ostrołęka
Zarejestrowany: 2007-07-12
Serwis

Re: usuwanie danych $_GET w linku przeglądarki

to powiedz mi, jak zmusisz apache, zeby przy probie otwarcia strony:

http://www.strona.pl/1,2,index.html

odpalił sprypt, w którym uzywasz owego tego lub tego zamiast błędu 404, gdyż jak wiadomo pliku o nazwie "1,2,index.html" w rzeczywistości na serwerze nie ma.

Ostatnio edytowany przez grzegorz.85 (2009-01-14 16:42:40)

Offline

 

#13  2009-01-19 12:16:44

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: usuwanie danych $_GET w linku przeglądarki

takiego pliku nie ma, a z tego co widze w temacie, chcesz pobrac z get
a w linku geta robi sie po znaku '?' wiec troszeczke pomysl


LRU #480459

Offline

 

#14  2009-01-19 19:27:19

  grzegorz.85 - Członek DUG

grzegorz.85
Członek DUG
Skąd: Ostrołęka
Zarejestrowany: 2007-07-12
Serwis

Re: usuwanie danych $_GET w linku przeglądarki

OK, chyba poszedłem krok na przód, ale mam wrażenie że słusznie.

Z tego co rozumiem, to jezoo miałeś na myśli sposób na otrzymanie linków w kodzie (X)HTML, czyli jak w prosty sposób, bez edycji setek stron ręcznie, zautomatyzować generowanie w naszym portalu linków, według nowego schematu.

Ja z kolei poszedłem krok na przód, i zaproponowałem re-write do sprawienia, że istniejące adresy ze zmiennymi przesyłanymi przez $_GET będą działały według nowego schematu linków.

Kwestia zrozumienia pojęcia "link w przeglądarce", czy chodzi o:
- link w kodzie (X)HTML (na stronie internetowej)
- adres strony w przeglądarce

Tak czy inaczej:
- aby poskutkował Twój sposób - nowe linki spreparowane za pomocą split lub trim - na serwerze muszą znajdować się pliki o odpowiednich nazwach, lub musi byc zaimplementowany re-write,
- użycie funkcji re-write nie przeszkadza w używaniu starych linków w stylu index.php?zmienna=cos,

Nie będę ukrywał jednak, że się nieco rozpędziłem, i byćmoże nadinterpretowałem pytanie, ale to już tylko autor wątku może osądzić stwierdzając o co mu chodziło.

Offline

 

#15  2009-01-23 11:20:52

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Re: usuwanie danych $_GET w linku przeglądarki

znalazłem w sieci  http://www.php.rk.edu.pl/w/p/krotkie-urle-i-php/ ,zrobiłem .htaccess gdzie index.php?m=modul zmienia  mi na modul.html ale nie moge spobie poradzic z wpisami dla  preg_replace ,albo nie działa przepisywanie albo strona sie wykrzacza :/

Offline

 

#16  2009-01-23 15:45:10

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: usuwanie danych $_GET w linku przeglądarki


LRU #480459

Offline

 

#17  2009-01-24 11:20:32

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Re: usuwanie danych $_GET w linku przeglądarki

tak ,wiem jak działa preg-replace ,ale czemu nie działa mi cała funkcja ?

Offline

 

#18  2009-01-24 12:22:20

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: usuwanie danych $_GET w linku przeglądarki

@szewczyk, wieczorem usiade przy tym, bo sam jestem ciekaw :) i Ci napisze co i jak :)


LRU #480459

Offline

 

#19  2009-01-24 19:10:39

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Re: usuwanie danych $_GET w linku przeglądarki

dzieki @jezoo za zainteresowanie !!!! :)

Offline

 

#20  2009-01-24 20:49:56

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: usuwanie danych $_GET w linku przeglądarki

@szewczyk, po glebszej analizie, powiem tyle, jezeli nie chcesz uzywac '?' to pozostaje Ci jedynie mod rewrite, jezeli uzyjesz '?' to mozesz zastosowac metode o ktorej pisalem wyzej lub uzyc $_SERVER['QUERY_STRING'] wiecej o $_SERVER tutaj

jezeli chodzi o te krotkie url'e co podales do nich linka to strasznie zamotane to jest i jak dla mnie troszeczke nie jasne, z tego co zrozumialem to muisz miec wlaczona obsluge plikow .htaccess zeby to zadzialalo i cala logike i tak napisac w jakims pliku php czyli to samo co podalem wyzej z tym, ze nie ma '?'.

decyzja nalezy do Ciebie, osobiscie, mnie by sie nie chcialo caly czas edytowac .htaccess i wpisywac url;e a na dodatek segregowac je jeszcze od najdluzszego do najkrotszego


LRU #480459

Offline

 

#21  2009-01-24 23:54:18

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: usuwanie danych $_GET w linku przeglądarki

przyklad pliku php do obslugi ladnych URLi - http://www.opcode.eu.org/sieci_komputerowe_uslugi/w … e/system.php/ - ogolnie polega to na parsowaniu $_SERVER['REQUEST_URI'] oraz konfig apache do tego (opowiada za wywolanie tego pliku zamiast dowolnego adresu, ktory dotarl do tej reguly)

Kod:

RewriteRule ^[^~]*/$ /~rrp/system.php [L]

Ostatnio edytowany przez bercik (2009-01-24 23:54:44)


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#22  2009-01-25 13:03:40

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: usuwanie danych $_GET w linku przeglądarki

@bercik, wszystko pieknie ladnie, ale jedna rzecz mnie odstrasza od tej metody, mianowicie funkcja system(), ktora jest wylaczona na serwerach publicznych i nie zadziala to, jezeli masz swoj serwer to nie ma problemu, natomiast jezeli to public server to mozna o tym zapomniec


LRU #480459

Offline

 

#23  2009-01-25 14:20:07

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: usuwanie danych $_GET w linku przeglądarki

system() moza zastpapic inna metoda wlaczenia wybranego pliku - jego czytaniem jakims include itp ... jest on tam uzyty ze wzgledu na pewne dziwne operacje ktore opcjonalnie wykonuje ten skrypt (np. "inteligentne" usuwa znakow non-ASCII z wykozystaniem konwert)


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#24  2009-02-01 23:38:59

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: usuwanie danych $_GET w linku przeglądarki

prosze: http://pl.php.net/manual/pl/function.idn-to-ascii.php
sprawdzanie czy podany ciag jest asci czy nie jest i system() nie jest potrzebny do tego


LRU #480459

Offline

 

#25  2009-02-02 21:04:33

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: usuwanie danych $_GET w linku przeglądarki

tylko ze to troche inaczej konwertuje ... oczywiscie tamta konwersje moglbym tez robic w php (napisac sobie funkcje itd) tylko po co :-)


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)