riroil Skrevet 7. november 2006 Forfatter Del Skrevet 7. november 2006 litt ot men hva er det som hindrer personen i å lagre filmen den ene gangen han får se den? Da kan han jo se filmen så mange ganger han vil 7235676[/snapback] Det er ikke så avanserte brukere det er snakk om. Dessuten er det ikke så farlig, og det er jo ikke sikkert de tenker på å lagre når han ikke vet om at han bare får se den en gang. Lenke til kommentar
G2Petter Skrevet 7. november 2006 Del Skrevet 7. november 2006 Jeg vet ikke om dette fungerer, men hva med å legge filen i en egen mappe, linke til en php-fil som først starter visningen av filmen, og så skriver en .htaccess-fil i den mappen som nekter all tilgang til mappa? Lenke til kommentar
riroil Skrevet 7. november 2006 Forfatter Del Skrevet 7. november 2006 Kan du vise et eksempel på hvordan en slik php fil må se ut? Lenke til kommentar
Jonhoo Skrevet 7. november 2006 Del Skrevet 7. november 2006 Skal skal filene dine se ut <?php ini_set("display_errors", 1); $dbaddr = 'localhost'; $dbuser = '******'; $dbpass = '******'; $dbname = 'database'; $toadress = '[email protected]'; $mailto = addslashes(htmlentities($toadress)); $movpath = 'donald.avi'; $fil = addslashes(htmlentities($movpath)); $hash = md5(crypt(md5('LH73hLIUH398y9').rand().md5('7asdkn5678'), rand())); mysql_connect($dbaddr, $dbuser, $dbpass); mysql_select_db($dbname); mysql_query(sprintf("INSERT INTO validhashes (hash, file) VALUES ('%s', '%s')", $hash, $fil)); mail ($mailto, "Anbefalt fil", 'En venn av deg har foreslaatt foelgende fil! <a href="http://www.mittdomene/showfile.php?hash='.$hash.'">Klikk her</a>' ); ?> showfile.php <?php ini_set("display_errors", 1); $dbaddr = 'localhost'; $dbuser = '******'; $dbpass = '******'; $dbname = 'database'; mysql_connect($dbaddr, $dbuser, $dbpass); mysql_select_db($dbname); $backer = mysql_query("SELECT * FROM validhashes WHERE hash='".mysql_real_escape_string($_GET['hash'])."'"); mysql_query("DELETE FROM validhashes WHERE hash='".mysql_real_escape_string($_GET['hash'])."'") $fileinfo = mysql_fetch_array($backer); $filnavn = $fileinfo['file']; ?> <html> <head> <title><?=$filnavn;?></title> </head> <body> <OBJECT id='mediaPlayer' width="320" height="285" classid='CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95' codebase='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701' standby='Loading Microsoft Windows Media Player components...' type='application/x-oleobject'> <param name='fileName' value="<?=$filnavn;?>"> <param name='animationatStart' value='true'> <param name='transparentatStart' value='true'> <param name='autoStart' value="true"> <param name='showControls' value="true"> <param name='loop' value="false"> <EMBED type='application/x-mplayer2' pluginspage='http://microsoft.com/windows/mediaplayer/en/download/' id='mediaPlayer' name='mediaPlayer' displaysize='4' autosize='-1' bgcolor='darkblue' showcontrols="true" showtracker='-1' showdisplay='0' showstatusbar='-1' videoborder3d='-1' width="320" height="285" src="<?=$filnavn;?>" autostart="true" designtimesp='5311' loop="false"> </EMBED> </OBJECT> </body> </html> Akkurat saann skal koden vaere... Naa maa du soerge for at du har en database oppe og kjoerer paa localhost. Navnet paa databasen skriver du inn der hvor det naa staar database, og pass paa aa ikke fjerne ''. Det samme gjelder brukernavn og passord. Inne i databasen din skal du ha en table som heter validhashes med to columns. Den ene skal hete hash og den andre skal heter file, begge to skal vaere av typen TEXT. Haaper dette hjelper Lenke til kommentar
riroil Skrevet 7. november 2006 Forfatter Del Skrevet 7. november 2006 (endret) Hmmm. Får send til å virke med ny hash osv. Men showfile.php viser bare en blank side. Endret 7. november 2006 av riroil Lenke til kommentar
riroil Skrevet 7. november 2006 Forfatter Del Skrevet 7. november 2006 Send_file virker. Det blir generert ny hash i databasen, men jeg får fortsatt ikke showfile til å virke. Ser nesten ut som at den ikke får kontakt med db. Jeg har trippelsjekket passord osv selvfølgelig. Noen som kan hjelpe? Lenke til kommentar
Jonhoo Skrevet 8. november 2006 Del Skrevet 8. november 2006 Sjekk kildekoden du faar fra showfile.php... Er koden der? Lenke til kommentar
G2Petter Skrevet 8. november 2006 Del Skrevet 8. november 2006 Kan du vise et eksempel på hvordan en slik php fil må se ut? 7236164[/snapback] Dette er bare en idé jeg fikk, og jeg vet ikke om alt lar seg gjøre på en enkel måte, men php-koden for å skrive en .htaccess-fil skal i hvert fall fungere. Fra før må du ha en.htaccess-fil som inneholder "allow from all" (uten anførselstegn) i mappa som videoen ligger. Alt som ligger i denne mappa vil bli utilgjengelig etter at scriptet blir kjørt. <?php fwrite (fopen(".htaccess", "w") , "deny from all"); ?> Utover dette er jeg ikke helt sikker på hva som må gjøres, men før kodesnutten kjøres må man åpne filmen i et nytt vindu, kanskje med JavaScript, og vente i noen sekunder, sånn at personen kan få kontakt med filmen. Er det noen som vet om dette er mulig? Lenke til kommentar
riroil Skrevet 8. november 2006 Forfatter Del Skrevet 8. november 2006 Sjekk kildekoden du faar fra showfile.php... Er koden der? 7241738[/snapback] Nei, ikke noe kode der. Lenke til kommentar
Jonhoo Skrevet 8. november 2006 Del Skrevet 8. november 2006 Proev aa sette inn : error_reporting(E_ALL); istedenfor ini_set linjen... Faar du noen feilmeldinger? Hva er linken du faar til showfile.php? Lenke til kommentar
riroil Skrevet 8. november 2006 Forfatter Del Skrevet 8. november 2006 Proev aa sette inn : error_reporting(E_ALL); istedenfor ini_set linjen... Faar du noen feilmeldinger? Hva er linken du faar til showfile.php? 7245689[/snapback] Får fortsatt ikke noen feilmeldinger. Linken er her Setter pris på din hjelp. Lenke til kommentar
Jonhoo Skrevet 10. november 2006 Del Skrevet 10. november 2006 Men du faar altsaa en mail ved aa kjoere det foerste scriptet? og du er sikker paa at du har satt opp MySQL riktig? Lenke til kommentar
riroil Skrevet 10. november 2006 Forfatter Del Skrevet 10. november 2006 Ja, jeg får mail med den linken. Kan ikke se noe feil med MySQL. Bruker den samme db til en annen side også. Finner igjen den hash'en som jeg får på mail i MySQL Lenke til kommentar
Jonhoo Skrevet 10. november 2006 Del Skrevet 10. november 2006 I rowen med hashen, staar ogsaa filnavnet der da? (i column file altsaa)? Du kan jo proeve aa sjekke error_log paa serveren, kanskje scriptet gir fra seg noen flere warnings der.. Lenke til kommentar
kakkle Skrevet 10. november 2006 Del Skrevet 10. november 2006 Du får vel sikkert en idé om hva som kan være feil dersom du har disse linjene istedetfor de du har nå (på samme plass) $backersql="SELECT * FROM validhashes WHERE hash='".mysql_real_escape_string($_GET['hash'])."'"; $backer = mysql_query($backersql) or die("QUERY ERROR:<br>$backersql<br>".mysql_Error()); $deletesql = "DELETE FROM validhashes WHERE hash='".mysql_real_escape_string($_GET['hash'])."'"; mysql_query($deletesql) or die("QUERY ERROR:<br>$deletesql<br>".mysql_Error()); $fileinfo = mysql_fetch_array($backer); $filnavn = $fileinfo['file']; Alltid greit å gjøre det på denne måten, så får du en feilmelding hvis det er feil i spørringen, pluss at du ser hvordan spørringen ser ut. Lenke til kommentar
riroil Skrevet 10. november 2006 Forfatter Del Skrevet 10. november 2006 Nå kommer faktisk mediaplayer frem. Men den spiller ikke av filmen. Har lagt inn bane til fil som 'file' Lenke til kommentar
riroil Skrevet 11. november 2006 Forfatter Del Skrevet 11. november 2006 I rowen med hashen, staar ogsaa filnavnet der da? (i column file altsaa)?Du kan jo proeve aa sjekke error_log paa serveren, kanskje scriptet gir fra seg noen flere warnings der.. 7255953[/snapback] Kan du forklare litt nærmere? Error log på serveren har vel ikke jeg tilgang til? Har webhotell fra one.com Lenke til kommentar
Jonhoo Skrevet 12. november 2006 Del Skrevet 12. november 2006 Hvis du har en eller annen form for admin panel eller noe saant saa er det gjerne en mulighet til aa lese errorlogs der... Sjekk ogsaa i MySQL om filnavnet faktisk staar i samme row som hashen du faar tilsendt. Sjekk _ogsaa_ at filmen ligger i samme mappe som scriptet. Lenke til kommentar
riroil Skrevet 12. november 2006 Forfatter Del Skrevet 12. november 2006 Error reporting i kontrollpanel var av. Nå får jeg følgende: Notice: Undefined index: HPIM0358.MPG in /customers/data-aid.net/data-aid.net/httpd.www/showfile.php on line 14 Filnavnet står i samme row som hashen i MySQL Er denne feilen fordi det ikke er en index fil i roten hvor dette ligger? Lenke til kommentar
kakkle Skrevet 12. november 2006 Del Skrevet 12. november 2006 (endret) Feilen kommer fordi det er et array som du prøver å hente ut en "Nøkkel" som heter: HPIM0358.MPG, og det finnes ikke. Tipper du har satt $filnavn = $fileinfo[$file]; istedetfor: $filnavn = $fileinfo['file']; Kanskje ? Evt så får du vise hvilken kode du har rundt linje 14 EDIT: For å forklare litt: $filnavn = $fileinfo['file']; setter $filnavn til den verdien som kolonnen som heter file inneholder i den aktuelle raden du befinner deg ( I dette tilfellet, raden som er lik den hashen som er i url) Endret 12. november 2006 av kakkle Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå