noche
17.08.2015, 11:29:38
....?nr=123
chodzi o to aby użytkownik nie widział '123' a później żeby można było odczytać 123
testowałem crypt( $string, $klucz ) ale nie mogę wrócić do pierwotnego stringa
Pyton_000
17.08.2015, 11:41:41
Bo niby czemu miałbyś móc odwrócić hashowanie? czytałeś dokumentacje do funkcji której chciałeś użyć?
Tu masz sposób
http://stackoverflow.com/questions/9262109...-way-encryptionalbo jak chcesz prymityw to base64...
by_ikar
17.08.2015, 12:34:24
noche
18.08.2015, 08:35:27
dzięki za podpowiedzi
na moje potrzeby wystarczyło to
function f_base64_encode($data) {
return str_replace( '=', '-', base64_encode($data));
}
function f_base64_decode($data) {
return str_replace( '-', '=', base64_decode($data)) ;
}
bobek358
18.08.2015, 10:08:55
A może bezpieczniej przekazać to w sesji skoro użytkownik nie może tego zobaczyć?
Pyton_000
18.08.2015, 10:20:47
Tak o ile to jesr wew. aplikacji, jeśli przychodzi z zew. to nie da rady
bobek358
18.08.2015, 11:51:34
Mhm jednak autor nie stwierdził dokładnie co i jak
nospor
18.08.2015, 11:55:11
Ostatnio jest jakas dziwna moda na "tajenie" rzeczy przekazywanych w url. Wczoraj ktos chcial to zrobic przez mod_rewrite.... Odnosze wrazenie, ze tutaj rowniez, jak we wczorajszym temacie, autor totalnie zle podszedl do zagadnienia. Pewnie problemem wcale nie jest "jawnosc" informacji w przegladarce ale zle rozplanowanie aplikacji i ogolne zabezpieczenie dostepu do danych sekcji przez danyc uzytkownikow.
No ale mozna tylko gdybac jak to robią Pyton i bobek
noche
19.08.2015, 07:19:21
faktycznie brak kontekstu, jest to stronka wew. gdzie jedna osoba wprowadza dane do bazy i jest zalogowana, korzystam tutaj z sesji i POSTa
druga osoba nie ma możliwości logowania, może tylko zobaczyć wcześniej wprowadzone dane o ile dostanie link ( GET ) mailem
ten link miał na końcu numer, wystarczyło wiec zmienić numer i mamy kolejne informacje
to tak na szybko

dzięki jeszcze raz na podpowiedzi bardzo się przydały
nospor
19.08.2015, 07:24:50
Dane, ktore moga byc widoczne dla osob niezalogowanych przez link, powinny zawierac jakis dluuuugi iddentyfikator, tak zeby nikt sobie nie mogl zgadnac jaki moze byc inny wazny identyfikator. Dodatkowo taki identyfikator powinien miec waznosc czasowa, np. przez 8 godzin od wyslania maila.
noche
19.08.2015, 08:56:36
wiem o co Ci chodzi i masz racje dlatego nie chciałem się rozpisywać bo to ciężko w paru zdaniach przedstawić

tutaj to bardziej przypomina taki mini obieg dokumentów są osoby które generują wpisy do bazy i są osoby które tylko odczytują te dane
chodzi tez o to aby po roku mając link można było odczytać dane wpisy
gdy jest coś takiego w linku ....?nr=123 to po prostu kusi żeby zmienić na 122
gdy natomiast z 123 zrobi sie 'MTIz' to już nic nie mówi

takie dodatkowe pytanie jakich znaków specjalnych ta funkcja ( base64_encode ) używa a których nie ?
viking
19.08.2015, 09:09:15
Tylko a-z0-9=_
Inna sprawa że base64_decode i ktoś ma twój super link. Szybciej tu md5 pasuje z jakimś hashem ekstra.
nospor
19.08.2015, 09:20:06
@viking tylko ze jak on tu hash wstawi, to nie odczyta juz numeru, a on chce odczytac numer i dopiero wtedy leciec do bazy na podstawie numeru.
To co ty proponujesz to na dobra sprawe to co ja juz podalem wczesniej
noche
20.08.2015, 07:48:53
chodzi o prostą zmianę numeru
myślę o zmianie jakiegoś znaku na inny żeby jeszcze trochę utrudnić odczytanie tego numeru ale to może zaczekać

md5 to pierwsze z czym się męczyłem gdy chciałem rozwiązać ten temat ale nie udało mi się tego zmienić do formy pierwotnej
poczytałem o crypt później Mcrypt ale u mnie najlepiej sprawdzi się proste rozwiązanie
Pyton_000
20.08.2015, 07:56:26
A może po prostu w BD do ID doklej sobie pole UUID (Generowane przez UUID() - '6ccd780c-baba-1026-9564-0040f4311e29')
Wtedy generujesz linki z tym czymś, a podczas wchodzenia w link szukasz po prostu rekordu z tym UUID zamiast ID.
zamiast UUID możesz wstawić cokolwiek, nawet sha1 czy nawet md5, bez znaczenia.
by_ikar
20.08.2015, 18:25:30
Zerknąłeś w ogóle na to co podesłałem?
http://hashids.org/php/
noche
21.08.2015, 09:54:49
@by_ikar tak, dzięki a ten link
nie potrzebuje aż tak teraz kombinować ale pomysły super

dla zainteresowanych w przyszłości poza wcześniejszymi linkami:
http://php.net/manual/en/function.uniqid.phphttps://msdn.microsoft.com/en-us/library/ms187942.aspx
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.