php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.03.2006, 17:01  
Benutzer
 
Registriert seit: 08.02.2006
Beiträge: 37
sponer
Standard Dateien Packen und gleichzeitig streamen

Hi.

Ich möchte große Mengen an Bilder in ein TAR als Download Streamen.

Also ohne extra eine bspw. 50 MB große Datei vorher automatisch anlegen zu müssen.

header( "content-type: application/x-tar" );
header( "content-disposition: attachment; filename=download.tar");
echo shell_exec( "tar c \"" . $ordner . "\"/*.jpg \"" );

So geht es bis jetzt. Doch ist es meiner Meinung nicht sehr sicher. (PHP save mode unmöglich)

bzcompress und gzcompress helfen mir nicht weiter. Kompression verursacht zuviel CPU-Last und ab 6 gleichzeitig ist nichts mehr.

Gruß

PS: Weiß jemand eine gute Möglichkeit die variable $ordner vor .. und / zu Beginn der Zeile zu schützen, um Zugriffe auf Systemdateien zusätzlich zu schützen (auch wenn es die chmod/own usw. bereits unterbinden)
sponer ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.03.2006, 17:13  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Naja du kannst doch einfach überprüfen ob ein .. oder ein / in der Variable vorkommt ... bzw. am besten ist eine Whitelist bei der alle Ordner die zugänglich sind drinnen stehen.
Flor1an ist offline   Mit Zitat antworten
Alt 15.03.2006, 17:36  
Benutzer
 
Registriert seit: 08.02.2006
Beiträge: 37
sponer
Standard

Zitat:
Zitat von RaZoR
Naja du kannst doch einfach überprüfen ob ein .. oder ein / in der Variable vorkommt ... bzw. am besten ist eine Whitelist bei der alle Ordner die zugänglich sind drinnen stehen.
if ( strrpos ( $ordner, "/" ) == 1 ) die ( "NIX DA!" );
effektiv genug fürs / ?


Kann man eigentlich so einer Zeile "glätten" lassen?
Also $ordner=bilder1/../bilder2 zu $ordner=bilder2 umwandeln lassen?

Ist gibt zwar realpath, doch sagt gleich den kompletten Systempfad.
Den nochmal zu isolieren, zu gefährlich. Wenn da was schief geht.
sponer ist offline   Mit Zitat antworten
Alt 15.03.2006, 17:44  
Benutzer
 
Registriert seit: 08.02.2006
Beiträge: 37
sponer
Standard

Pfad glätten. Hat sich erledigt

Aus dem kommentarzeile von php.net
http://us2.php.net/realpath

PHP-Code:

 bart at mediawave dot nl
21-Sep-2005 11:31
Here's another function that resolves references to '/./', '/../' 
and extra '/' characters in the input path and returns the 
canonicalized pathname.

<?php

function cleanPath($path) {
   
$result = array();
   
// $pathA = preg_split('/[\/\\\]/', $path);
   
$pathA explode('/'$path);
   if (!
$pathA[0])
       
$result[] = '';
   foreach (
$pathA AS $key => $dir) {
       if (
$dir == '..') {
           if (
end($result) == '..') {
               
$result[] = '..';
           } elseif (!
array_pop($result)) {
               
$result[] = '..';
           }
       } elseif (
$dir && $dir != '.') {
           
$result[] = $dir;
       }
   }
   if (!
end($pathA))
       
$result[] = '';
   return 
implode('/'$result);
}

echo 
'input:  '$path '..//./../dir4//./dir5/dir6/..//dir7/''
'
;
echo 
'output: 'cleanPath($path), '
'
;

?>

Will return:

input:  ..//./../dir4//./dir5/dir6/..//dir7/
output: ../../dir4/dir5/dir7/

Mein eigentliches Streamanliegen bleibt immer noch
sponer ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dateiupload - mehrer Dateien gleichzeitig asyoulikeit PHP Tipps 2008 3 11.06.2008 08:49
PHP Dateien verschlüsseln GSJLink PHP-Fortgeschrittene 2 26.04.2008 12:29
[Logik] Mehrere Dateien als Anhang per Formular versenden PsychoEagle PHP Tipps 2008 2 27.08.2007 08:58
nur bestimmte Dateien aus einem Verzeichnis auslesen Madden PHP Tipps 2006 2 07.03.2006 17:10
Mehrere Dateien gleichzeitig uploaden / löschen mit PHP nicobischof PHP Tipps 2005-2 1 02.08.2005 20:34
Dateien löschen (mit "unlink") PHP Tipps 2005-2 8 09.06.2005 22:55
[Erledigt] Nur bestimmte Dateien anzeigen, wie mache ich das HILFE PHP Tipps 2005 4 02.04.2005 22:38
Dateien aus beliebigem Ordner packen ?? nsane PHP-Fortgeschrittene 2 10.12.2004 21:42
dateien zugänglich machen PHP Tipps 2004 8 22.10.2004 14:25
Mehrere Dateien gleichzeitig Download (OWL Intranet Engine) PHP Tipps 2004 0 07.10.2004 15:16
Dreamweaver - viele dateien gleichzeitig mit CSS-File HTML, Usability und Barrierefreiheit 1 21.09.2004 14:13
[Erledigt] PHP Dateien auf Server einsehen - Verschlüsseln PHP Tipps 2004 6 12.09.2004 10:17
2 Dateien gleichzeitig includen PHP Tipps 2004 6 10.09.2004 14:52
[Erledigt] Dateien aus Verzeichnissen vom Webserver auslesen und linken PHP Tipps 2004 3 08.09.2004 10:07
[Erledigt] Dateien können nicht erzeugt werden PHP-Fortgeschrittene 10 03.06.2004 16:21

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
bzcompress mehrere dateien, dreamweaver datei verpacken, php mehrere dateien packen, owl intranet verzeichnisse einlesen, unix tar packen inhalt von ordner, php file hochladen und packen, php datei verpacken und downloaden, php 2 dateien streamen, php stream packen -audio -video, php tar, bzcompress oder gzcompress, verzeichnis tarren, shell_exec tar, tar nur php packen, mehrere dateien zusammenfassen und download php, tar packen gleichzeitig entpacken, php tar packen, packen ohne gzcompress, php eine datei zu tar packen, unix tar große menge

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:11 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.