Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Testowanie klucza przed uruchomieniem pliku typu .swf / .mov
armon
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 24.09.2009

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


Witam,

Mam w planie napisanie sklepu ze sprzedażą filmów video.

Wydaje się być to całkiem proste zadanie, ale gorzej z zabezpieczeniem końcowym...

Otóż można zrobić to tak że, jeżeli ktoś jest już zalogowany i ma aktualną sesję oraz ma zaznaczoną flagę, że kupił dany materiał to ma dostępne linki do filmów.

Po wejściu na dany link, sprawdzona zostanie sesja, flaga, więc tutaj jest całkiem bezpiecznie. Teraz, gdy ktoś poda ten link komuś innemu, to bez podania dodatkowo swojego loginu oraz hasła nie może mieć dostępu do filmu.

Gorzej jednak, jeżeli jest to osoba, która zna HTML, osoba ta wtedy może wejść w źródło strony oraz znaleźć bezpośredniego linka do filmu, który musi tam być, jeśli chcę rozprowadzać filmy z możliwością streamingu.

No to wpadłem na taki pomysł...

Generuje na samym początku strony przy pomocy PHP, identyfikator, który zostanie wysłany do bazy danych. Gdy osoba wyjdzie ze strony, kod ten zostanie usunięty. Kod będzie używany np tak.
Kod
... nazwafilmu.mov?k=125agsdg4179&g=f8c9d837asdfasdf122793e0222ce3fa91c2       ...


Fajna sprawa, ale jak sprawdzić ten kod gdy wejdzie się na http://costamcostam/nazwafilmu.mov

Przecież nazwafilmu.mov wywoła od razu Quick Time, a jeżeli będzie to plik .swf to wywoła flash playera...

Jest to jednak możliwe bo zauważyłem, że podobnie robią np. tutaj: http://www.lynda.com/home/Player.aspx?lpk4=53917, wchodząc w źródło strony można znaleźć http://files.lynda.com/secure/courses/740/...3e0222ce3fa91c2 , a jak widzimy na końcu jest klucz, bez klucza czyli http://files.lynda.com/secure/courses/740/..._LA_welcome.mov film się nie odpali.

Widzimy, że ich kod jest stały, natomiast ja mam zamiar zrobić dynamiczny.

Jednak moje pytanie główne brzmi:
Jak sprawdzić przy pomocy jakiegokolwiek języka(wydaje mi się, że jest to PHP) zanim odpali się nazwafilmu.mov jaki ona ma kod i czy go w ogóle on istnieje?

Pozdrawiam serdecznie,

Armon
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




mod_rewrite


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
armon
post
Post #3





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 24.09.2009

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


Już to znalazłem wcześniej - jakieś 3h szukałem O.o, ale dzięki...

ustawiłem .htaccess
  1. Options FollowSymLinks
  2. RewriteEngine On
  3. RewriteRule ^quicktimefile.mov$ controller.php


i wszystko byłoby pięknie, ale jak teraz w controller.php mam uruchomić quicktimefile.mov, oraz aby zachować wersje "embedded" na stronie w pliku .html.

Jakiś pomysł, wystarczy mi hasełko, resztę doczytam winksmiley.jpg

Ten post edytował armon 24.09.2009, 18:08:00
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie uruchamiasz, tylko wrzucasz odpowiednie MIME i zwracasz zawartość pliku. Ew. tworzysz losową nazwę i przekierowujesz (tak by było najlepiej).

W źródle HTML masz quicktimefile.mov, a odczytuje to, na co przekierujesz. Osoby trochę bardziej obcykane odczytają, ale chakierzy już nie. ;]


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
armon
post
Post #5





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 24.09.2009

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


"Nie uruchamiasz, tylko wrzucasz odpowiednie MIME i zwracasz zawartość pliku."

Błagam jakiś link o zwracaniu odpowiedniego MIME i zwracaniu wtedy zawartości pliku. Wiem co to, ale nie wiem jak go zwrócić w mojej sytuacji sad.gif

Bo ja to cholerstwo muszę zwrócić w tym samym miejscu gdzie jest wywoływane czyli:
  1. <object id="QuickTimePlayer" classid="CLSID:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
  2. width="640" height="496"
  3. codebase="http://www.apple.com/qtactivex/qtplugin.cab">
  4. <param name="src" value="quicktimefile_media/quicktimefile.mov?kod= asdfasdf215125"/>
  5. <param name="autoplay" value="true" />
  6. <param name="loop" value="false" />
  7. <param name="controller" value="true" />
  8. <embed id ="EmbedQuickTimePlayer"
  9. pluginspage ="http://www.apple.com/quicktime/download/"
  10. src ="quicktimefile_media/quicktimefile.mov?kod=asdfasdf215125"
  11. autoplay ="true"
  12. loop ="false"
  13. controller ="true"
  14. enablejavascript ="true"
  15. width ="640"
  16. height ="496">
  17. </embed>
  18. </object>


w src powyższego kodu O.o
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




SRC nie zmieniasz, co do MIME: header.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
armon
post
Post #7





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 24.09.2009

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


Dzięki, już jest lepiej.

Zrobiłem w pliku controller.php dla testu tak:
  1. <?php if (isset($_GET['kod']))
  2. if (addslashes($_GET['kod']) == 'asdfasdf215125')
  3. {
  4. header('Content-type: video/quicktime');
  5. readfile('quicktimefile.mov');
  6.  
  7. }
  8. else
  9. echo 'zly kodzik :]';
  10. ?>


i wszystko działa!!!!!

BARDZO DZIĘKUJE CI za pomoc :-)

Ten post edytował armon 24.09.2009, 21:15:13
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: 19.08.2025 - 15:38