---
title: "Endast en session till en fil ska vara tillåten"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/127214-endast-en-session-till-en-fil-ska-vara-tillåten"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Riddis"
published: "2005-04-27T13:10:12.000Z"
updated: "2005-05-15T09:41:39.000Z"
replies: 1
views: 249
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/127214-endast-en-session-till-en-fil-ska-vara-tillåten"
---

# Endast en session till en fil ska vara tillåten

## #1 — Riddis, 2005-04-27T13:10Z

Hejsan alla kodare :)
Följande script använder jag för nedladdning av filer:

\<?php
if(isset($\_GET\["id"\])) {
$\_GET\["id"\]=intval($\_GET\["id"\]);
}
else {
die ("SORRY!!");
}

	$fil\[1\]="filen.zip";

$exp=explode(".",$fil\[$\_GET\["id"\]\]);
$r=count($exp);
$namn = basename($fil\[$\_GET\["id"\]\]);
$data=file_get_contents($fil\[$\_GET\["id"\]\]);
$len = strlen($data);

header("Content-Disposition: attachment; filename=\\"".$namn."\\"");
header("Content-Length: ".$len);
echo $data;

?\>

sedan anropning: filhamtning.php?id=1

Anledning till detta är att jag vill gömma vilka filer det är.
Men likaså för att endast detta ska gå köra en nedladdning från respektive "nerladdare".
Nu ligger problemet i att det fortfarande går klistra in adressen "filhamtning.php?id=1" i t.ex. download accelerator och börja hämta med flera sessioner.
Går detta låsa så endast en session från respektive användare är tillåten?

Vill samtidigt passa på att tacka min gode vän Stefan för den hjälp han ger mig gällande php =)

Permalänk: https://www.webforum.nu/p/127214

## #2 — lunarmys, 2005-05-15T09:41Z

tja, du skulle kunna ha ngt i stil med

touch("/tmp/" . $SESSION_ID); (bereonde på hur du sätter session id)

och sedan innan du tillåter nedladdningen så kollar du om den filen finns

grejjen är ju den att du inte riktigt kan kontrollera NÄR personen i fråga laddat klart en fil, så det är långt ifrån en bra eller perfekt lösning. det du kan göra är att du kan plocka bort alla filer i /tmp/ (som tillhör scriptet då) efter kanske 2 minuter.

så alla filer som är äldre än 2 minuter plockas bort, du kan enkelt göra detta med find (om du kör \*nix) via exec()

Permalänk: https://www.webforum.nu/p/1612712

---

Tråden på webben: https://www.webforum.nu/amne/php/127214-endast-en-session-till-en-fil-ska-vara-tillåten
