Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP ja tiedostot

punppis [12.08.2007 05:21:33]

#

Olen nähnyt monilla sivuilla sellaisia linkkejä tiedostoihin, jolla ne voi ladata vain sen sivuston oman linkin kautta. Sivustolla on siis linkki esimerkiksi "lataa tästä" joka linkittyy www.sivu.fi/tiedosto.txt. Kuitenkin, jos tämän osoitteen laittaa vaikka jollekin foorumille, niin tiedosto ei voikaan ladata, vaan tulee virheviesti "sallimaton lataus". Laitetaan nyt esimerkiksi linkki ATI:n ajuritiedostoon. Onnistuuko tämä PHP:lla?

Olen myös nähnyt laskureita, esimerkiksi IRC-galleriassa, jossa laskuri on aivan eri palvelimella. Miten pystyy laskemaan jonkun kuvan latauksien määrän?

Miten pystyy aloittamaan latauksen PHP:lla (tai siis html:llä)? Olen nähnyt sivuja, joissa on osoite muotoa www.sivu.fi/download.php?id=87453, josta lataus lähtee samantien. Onko näissä vain headerilla siirto siihen tiedostoon?

sooda [12.08.2007 10:12:28]

#

Joku latauslaskuri, esim. https://www.ohjelmointiputka.net/keskustelu/10322-latauslaskuri (tuossa tuon header-ohjauksen tilalle voi laittaa vaikka readfilen niin ei ole mahdollista saada suoraa linkkiä, eli on pakko kierrättää lataussivun kautta), yhdistettynä tarkistukseen, että http:n refererissä on joku muu palvelin kuin oma (keskustelun hakuun vaan referer ja selaamaan niin löytyy lisätietoa). Oman palvelimen tarkistus ei kelpaa, ainahan refereriä ei edes lähetetä. Sen voi kyllä väärentääkin, eli satavarma tuollainen laskuri ei ole ulkopuolelle pasteamisesta.

Blaze [12.08.2007 12:44:35]

#

punppis kirjoitti:

Olen nähnyt monilla sivuilla sellaisia linkkejä tiedostoihin, jolla ne voi ladata vain sen sivuston oman linkin kautta.

Tiedät siis varmastikin, kuinka ärsyttävää on saada haluamansa tiedoston sijasta joku tyhmä valitusviesti. Ethän tee lisää tällaisia sivuja, ethän?

punppis kirjoitti:

Olen myös nähnyt laskureita, esimerkiksi IRC-galleriassa, jossa laskuri on aivan eri palvelimella. Miten pystyy laskemaan jonkun kuvan latauksien määrän?

Jos sulla on pääsy sen palvelimen logeihin, joilla tuo kuva sijaitsee, voit grepata niitä.
Muuten teet niin, että kuva onkin PHP-skripti, joka ensin kasvattaa tiedostossa tai tietokannassa olevaa laskuria, ja sitten tulostaa sen kuvan (vaikka tuolla readfilellä).

Grez [12.08.2007 16:10:40]

#

Blaze kirjoitti:

Tiedät siis varmastikin, kuinka ärsyttävää on saada haluamansa tiedoston sijasta joku tyhmä valitusviesti. Ethän tee lisää tällaisia sivuja, ethän?

No ei tuo välttämättä ole paha, jos sen tekee hyvin. Kaista ei kuitenkaan ole ilmaista, joten ei ole kiva tehdä tiedostokokoelmaa ja sitten huomata että joku toinen tekee kilpailevan saitin jossa hot-linkittää suoraan sinun palvelimellesi.

Hyvin tekemisellä tarkoitan ainakin seuraavia seikkoja:
- Sivullasi josta on linkki tiedostoon olisi syytä olla maininta että tiedostoon ei pidä linkittää suoraan ja antaa sen asemesta helppo linkki sivustollesi, jota kautta tiedoston saa ilman sen suurempaa etsimistä. Eli jos joku haluaa "reilusti" linkittää tiedstoon, niin käyttää sitten sitä linkkiä.
- Tiedostot on määritelty niin, että hakukoneet eivät indeksoi varsinaisia tiedotoja

Eli tuossa oli mielestäni vähimmäisvaatimukset. Jos haluaa tehdä asian elegantimmin, niin tekee vielä lisäksi uudelleenohjauksen tiedoston lataussivulle. Eli ei tule vaan jotain random valitusta vaan pääsee suoraan sivulle jolta tiedoston voi "luvallisesti" ladata.

punppis [17.08.2007 01:41:53]

#

Joo en ole tuollaista tekemässäkään, mutta haluan oppia mahdollisimman paljon... Jos vaikka joskus tarvitsee. Ja onhan se kiva välillä kokeilla kaikennäköistä ;)

Tosin soodan neuvossa on kyllä yksi porsaanreikä.. kai (en ole päässyt vielä kokeilemaan). Eli kun sen php-skriptin kautta aloitetaan se lataus "laillisesti", niin kuitenkin latauksen ominaisuuksissa (firefoxissa ainakin) näkee, että mistä osoitteesta sitä ladataan (www.fi/tiedosto.exe). Tuon php-systeemin kanssa niitä tiedostoja voisi suoraan ladata tuolla osoitteella. Kuitenkin, esimerkiksi tuossa mainitsemassani ati:n linkissä on suoraan linkitys .exe tiedostoon, mutta sitä ei voi ladata!

Matso [17.08.2007 14:26:58]

#

punppis kirjoitti:

Kuitenkin, esimerkiksi tuossa mainitsemassani ati:n linkissä on suoraan linkitys .exe tiedostoon, mutta sitä ei voi ladata!

Veikkaisin että jonkunlainen htaccess tiedosto joka estää suoralinkityksen ja ohjaa vaan tolle lataussivulle.

Ainakin oon jossain nähnyt htaccess scriptin joka estää kuvien suoralinkityksen, mutta kuitenkin niitä voi käyttää samalla serverillä missä ne sijaitsee. Kaippa samaa tuohonkin voi soveltaa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta