Vinnaren i pepparkakshustävlingen!
2007-09-23, 19:16
  #1
Medlem
eyyYos avatar
Tjena!
Håller på att bygga ett ljudarkiv. I akrivet ska gammla inspelade saker finnas, som man ska kunna lyssna på i efterhand (duh). Har filservern klar, mycket av kodningen på webbapplikationen klar också. Nu kommer vi till den sista och jobbigaste delen, jag har inte den blekaste susning om hur jag ska göra följande:

Då man klickar på en av filerna på websidan så ska det komma upp en integrerad spelare (WMP) - Klart.
Men WMP ska hämta ljudet från en fil som heter tex playaudio.php?file=bla.mp3 (då man valt att lyssna på bla.mp3). Phpfilen ska då hämta bla.mp3 från en gömd mapp på server (dasdogng/sfdsnfdnif/asda/123/bla.mp3), för att förhindra att folk ska kunna gå in och tanka ner den. Hur länkar jag allt det hära i phpfilen? För att folk ändå inte bara ska kunna gå in och tanka ner hur lätt som helst så kommer några header-checks att bli utförda i phpfilen också.
Citera
2007-09-23, 19:52
  #2
Medlem
Citat:
Ursprungligen postat av eyyYo
Tjena!
Håller på att bygga ett ljudarkiv. I akrivet ska gammla inspelade saker finnas, som man ska kunna lyssna på i efterhand (duh). Har filservern klar, mycket av kodningen på webbapplikationen klar också. Nu kommer vi till den sista och jobbigaste delen, jag har inte den blekaste susning om hur jag ska göra följande:

Då man klickar på en av filerna på websidan så ska det komma upp en integrerad spelare (WMP) - Klart.
Men WMP ska hämta ljudet från en fil som heter tex playaudio.php?file=bla.mp3 (då man valt att lyssna på bla.mp3). Phpfilen ska då hämta bla.mp3 från en gömd mapp på server (dasdogng/sfdsnfdnif/asda/123/bla.mp3), för att förhindra att folk ska kunna gå in och tanka ner den. Hur länkar jag allt det hära i phpfilen? För att folk ändå inte bara ska kunna gå in och tanka ner hur lätt som helst så kommer några header-checks att bli utförda i phpfilen också.

du är medveten om att om du länkar
playaudio.php?file=bla.mp3 t.ex.
för att "Dölja" filen
så är det bara att öppna just
playaudio.php?file=bla.mp3
för att tankaner filen ..
Citera
2007-09-23, 20:23
  #3
Medlem
eyyYos avatar
Citat:
Ursprungligen postat av K85
du är medveten om att om du länkar
playaudio.php?file=bla.mp3 t.ex.
för att "Dölja" filen
så är det bara att öppna just
playaudio.php?file=bla.mp3
för att tankaner filen ..

Kommer (som jag skrev i inlägget, kanske var otydligt) självklart göra en check på headern och kolla vad som vill komma åt filen. Vet att det går att fejka headers ganska enkelt, men jag vill göra det så svårt som möjligt. Några andra tips på hur man kan göra det svårare?
Citera
2007-09-23, 21:17
  #4
Medlem
Citat:
Ursprungligen postat av eyyYo
Kommer (som jag skrev i inlägget, kanske var otydligt) självklart göra en check på headern och kolla vad som vill komma åt filen. Vet att det går att fejka headers ganska enkelt, men jag vill göra det så svårt som möjligt. Några andra tips på hur man kan göra det svårare?


När requesten görs t.ex. när man trycker på länken "Lyssna på bla.mp3"
så skickas ett AJAX till Stream.php?file=bla.mp3
då skapas en random nyckel och läggs in i databasen
och Ajaxen retunerar WMP kontrollen med WMP kontrollens
URL=playaudio.php?file=bla.mp3&auth=2342134rf34t45 w
(2342134rf34t45w == den random nyckeln som genererades vid stream.php)
när WMP begär filen från
playaudio.php stämmer då nyckel mot databasen så tas nyckeln bort då den är förbrukad
och retunerar bla.mp3 från audiolib/mp3s/b/bla.mp3 t.ex..

kopierar man då playaudio.php?file=bla.mp3&auth=2342134rf34t45w
så får man ingen mp3 som svar för nyckeln används bara en gång och
en ny skapas bara i Stream.php (som inte retunerar någon MP3 i sig utan
retunerar hela WMP kontrollen med url(playaudio.php?file=bla.mp3&auth=nyckeln) .,

hoppas du förstår .


Lyssna på Bla.mp3 --- > Stream.php?file=bla.mp3 --- skapar nyckel och
lägger i databasen & retunerar hela koden för WMP kontrollen med url `:
playaudio.php?file=bla.mp3&auth=nyckeln ---- WMP begär filen från
playaudio.php --- > playaudio.php kontrollerar nyckeln och finns den i
databasen så retunerar vi <mp3an> och tarbort nyckel från databasen..


En tanke jag bara hade i huvudet ..
Citera
2007-09-23, 23:57
  #5
Medlem
eyyYos avatar
Aaah! Det var riktigt smart Ska köra på det, då =)

EDIT: Tack så mycket, föresten
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback