Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ulkoalinkityksen esto

Sivun loppuun

TETRIS [24.02.2004 18:15:33]

#

Mitenkä PHP:llä saisi tehtyä sellaisen scriptin jolla voisi estää sivun ulkoatulevat imurointi linkitykset. Imurointi linkit omalle sivulle tulisi tyyliin ?download_file=peli.zip tai ?download_file=34 (jolloin tiedostoilla olisi "ID" jonka avulla ne haettaisiin) . Ja jos joku tulisi oman sivun ulkopuolelta tähän linkkiin näytettäisiin teksti tyyliin "Ulkoalinkitys estetty!"?

ajv [24.02.2004 19:12:13]

#

No itellä oli tommonen melkeen valmiina. Tää koodinpätkä laskee siis myös jokaisen filun latauskerrat.

<?php
//linkki, jolta yritetään ladata
$url = $_SERVER['HTTP_REFERER'];
//avainsana, joka täytyy löytyä linkkisivulta
$asana = "0101030"
if(!ereg($asana, $url)) die ("<h1>Hahaa! Yritit ladata vieraasta linkistä</h1>");
$file = $_GET['filu'];
//tästä eteenpäin voi poistaa jos ei käytä laskuria
//säilytä viimeinen header()-rivi
$hak = "Download_hakemistosi/";
//lisätään hitti dat-tiedostoon
$laskutied = "latauslaskuri/".$file.".dat";
if(!file_exists($laskutied)) {
	touch($laskutied);
	chmod($laskutied,0777);
	}
$kahva = fopen($laskutied, "r");
$c = fread($kahva, filesize($laskutied));
fclose($kahva);
$c++;
$a = fopen($laskutied, "w");
fputs($a, $c);
fclose($a);
//ohjataan käyttäjä sivulle
header("Location: ".$hak.$file);
?>

Käyttö:
http://cgi.evtek.fi/~k0101030/sivut/roskanlataus.php?filu=Esim1.gif

TETRIS [24.02.2004 19:34:57]

#

Loistavaa! Kiitos oikeen paljon... En kyllä ole vielä testannut...

makeuu [24.02.2004 20:24:53]

#

AJV: miksi et laita kaikkia koodeja koodivinkkeihin, vaan tarvii aina kysyä ja ne olis mukava muutenki olla sivuston sillee... :S

tsuriga [24.02.2004 21:13:13]

#

Tai htaccessilla, hot linking:
http://www.pikseli.biz/blog/archive/2003/10/21/htaccess_haltuun/index.php?s=7

ajv [24.02.2004 21:49:00]

#

Koodivinkeissä täytyy pyrkiä sentään joku laatu säilyttämään. Täällä foorumissa voi kaikenlaista potaskaa julkaista, kun ainakaan toistaiseksi täällä ei ole automaattista koodinpätkien laadunvalvontaa.

makeuu [24.02.2004 21:55:18]

#

joo, mutta tämä on yksi parhaimmista (minun mielestäni) perus koodeista ja vielä kun tietäisin tota noin ohjeet niin ei mittää järkiä!

ajv [24.02.2004 22:58:07]

#

No eli nimeät ton tiedoston vaikka load.php. Sitten samaan hakemistoon tuon kanssa luot hakemiston "latauslaskuri". Sitten määrität noi muuttujat kuntoon tossa load.php:ssä ja käytät sitä linkittämällä siihen esim. <a href="load.php?filu=foo.txt">foo.txt</a>.

edit: Muista laittaa latauslaskuri-hakemiston oikeudet kuntoon, että scripti voi sinne kirjottaa!!

k-mikko [25.02.2004 21:09:01]

#

Joo-o, paitsi kaikki selaimet ei lähetä tuota $_SERVER['HTTP_REFERER'] -muuttujan sisältämää tietoa...

Juhis [25.02.2004 21:45:06]

#

Paljon järkevämpää on tehdä joka kerta uniikki id kun sivu päivitetään, sen perusteella sitten hakea. 1000x parempi kuin tuo.
Linkkejä ei voi mitenkään kopioida, koska ne vanhentuisivat heti.


Sivun alkuun

Vastaus

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

Tietoa sivustosta