php.de

Zurück   php.de > Lösungen durch Skripte > Scriptbörse

Scriptbörse PHP Lösungen für nen schmalen Taler

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.09.2009, 18:39  
Neuer Benutzer
 
Registriert seit: 04.09.2009
Beiträge: 15
PHP-Kenntnisse:
Fortgeschritten
Max K. befindet sich auf einem aufstrebenden Ast
Standard Dateityp "vorgaukeln"

Hallo,

ist es irgendwie möglich, mit Hilfe von PHP etwas an den Browser zu senden, dass von diesem dann z.B. als Word, OpenOffice-, Pdf-Datei erkannt wird?

Es geht mir nämlich darum, nur User, die sich registriert haben, an die entspechende Datei zu lassen. Wenn ich jetzt die Datei einfach auf den Server lege und nur den Registrierten den Link dorthin mitteile ist das ja relativ schwer für Externe zu finden, aber eben nicht unmöglich.

Deshalb brauche ich ein Skript welches überprüft ob der betreffende angemeldet ist und, wenn ja, an den Client irgendeine Datei übermittelt, bzw. dem Client mit "echo" eine Zeichenfolge sendet, die dieser als eine solche Datei versteht und anzeigt.


Danke für Tipps schonmal im Voraus

Max K.
Max K. ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 04.09.2009, 18:45  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.992
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Bitte beachten: Forenrichtlinien
Zitat:
# Fasse das Forum nicht als Volkshochschule auf!
Vom Tutorials-Forum abgesehen kann und will die PHP.de-Community keine Grundlagen vermitteln, sondern bei konkreten Fragen Hilfestellung geben. Als blutiger Anfänger nutze bitte eines der zahlreichen Tutorials in den Weiten des Netzes. [5]

# Kein Support!
Wir sind alle freiwillig hier. Niemand bekommt eine Vergütung für die Zeit, die er hier investiert. Hast Du Probleme mit einer Software, wende Dich an deren Support. Hast Du eine Aufgabe, dann löse sie. Mit uns. Kannst Du nicht programmieren, bleibt Dir nur, Dein Problem als Jobangebot oder Scriptgesuch zu formulieren. Wir sind keine Dienstleister, also behandle uns auch nicht so.


# Poste im richtigen Forum!
Du solltest bereits ansatzweise herausgefunden haben, ob es sich um ein PHP-, HTML- oder Datenbankproblem handelt. Die Einteilung in Anfänger, Fortgeschritten und Profi spiegelt Anspruch der Frage und Deinen eigenen Wissensstand wider. Anfängerfragen im Profi-Forum zu posten, verschafft Dir keine besseren Antworten aber u.U. böse Kommentare der Gemeinschaft.
Die Fragen sollten konkret sein und eigene Lösungsansätze beinhalten.

Postings der Art „Wer kann mir dieses Script ändern/machen“ gehören ausschließlich ins Forum Scriptbörse und stellen kein PHP-Problem dar!
php.de - Ankündigungen im Forum : PHP-Fortgeschrittene

[MOD: verschoben]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 04.09.2009, 18:50  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.269
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Sende einen HTTP 403, das versteht der Browser dann schon, dann musst du den User auch keine "Ätsch-gibt-gar-keine-Datei" Datei runterladen lassen.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 04.09.2009, 19:24  
Neuer Benutzer
 
Registriert seit: 04.09.2009
Beiträge: 15
PHP-Kenntnisse:
Fortgeschritten
Max K. befindet sich auf einem aufstrebenden Ast
Standard

@ nikosch

Danke für den Tipp, nikosch, allerdings verstehe ich nicht so genau, was ich falsch gemacht habe! Ich habe schon alle denkbaren Quellen durchsucht und nichts gefunden.

@Chriz:

Warum ein 403? Die Datei gibt es ja und der (angemeldete) User soll auch Zugriff erhalten. Nur handelt es sich um eine PDF-Datei und es ist leider anscheinend nicht möglich, für den Zugriff auf eine PDF-Datei abzufragen, ob der User angemeldet ist. Deshalb wollte ich wissen, ob man mit PHP mit einem Trick vielleicht eine PDF-Datei simulieren kann.

@all

Falls es unklar war, was ich meinte:

Es gibt einen Mitgliederbereich mit vielen HTML-Inhalten. Jedoch soll dieser Mitglieder-Bereich auch PDF-Dateien enthalten, die jedoch nur für Mitglieder sichtba seien sollen.
Wenn ich die Dateien jetzt einfach in einen Ordner des Servers lege, kann sie aber jeder öffnen, der den Pfad kennt.
Deshalb muss beim Öffnen überprüft werden, ob der User angemeldet ist, was bei PDF allerdings nicht geht und .htaccess ist mir zu unflexibel.

Deshalb wollte ich per PHP prüfen, ob der öffnende Client angemeldet ist und, falls ja, eine PDF-Datei bzw. etwas was der Client als solche interpretiert ausgeben.
Max K. ist offline   Mit Zitat antworten
Alt 04.09.2009, 19:49  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.269
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

download.php?id=meinpdf
PHP-Code:
<?php
session_start
();
if (!isset(
$_SESSION["userId"]) || !$_SESSION["userId"]) {
  
header("HTTP/1.1 403 Forbidden");
  die(
"Forbidden");
}
$files = array("meinpdf" => "../files/sein-pdf.pdf");
if (!isset(
$_GET["id"]) || !array_key_exists($_GET["id"], $files) || !is_file($files[$_GET["id"]])) {
  
header("HTTP/1.1 404 File Not Found");
  die(
"File Not Found");
}
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="downloaded.pdf"');
readfile($files[$_GET["id"]]);
?>
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 04.09.2009, 21:44  
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

Du musst einen Content-Type mitsenden. Also wie Chriz am Ende des Skriptes geschrieben hat. Wenn du als Dateinamen auch noch die richtige Endung mit angibst (.pdf) kann der Browser das auch richtig zuordnen.
Flor1an ist offline   Mit Zitat antworten
Alt 05.09.2009, 10:23  
Neuer Benutzer
 
Registriert seit: 04.09.2009
Beiträge: 15
PHP-Kenntnisse:
Fortgeschritten
Max K. befindet sich auf einem aufstrebenden Ast
Standard

Danke, super, sowas suche ich!

Allerdings, wohin speichere ich die PDF-Datei, um zu verhindern dass sie von jedem, der den Pfad kennt, aufgefufen werden kann?

Ist es eventuell möglich, sie mit .htaccess zu schützen, dem PHP-Skript jedoch die Anmeldung über .htaccess zu ermöglichen?


Nachtrag:

Ich habe gerade gesehen, wie es geht! Danke für die Hilfe!

Geändert von Max K. (05.09.2009 um 10:33 Uhr).
Max K. ist offline   Mit Zitat antworten
Alt 05.09.2009, 10:41  
Erfahrener Benutzer
 
Registriert seit: 25.01.2009
Beiträge: 1.027
PHP-Kenntnisse:
Fortgeschritten
Capfly befindet sich auf einem aufstrebenden Ast
Capfly eine Nachricht über ICQ schicken Capfly eine Nachricht über MSN schicken
Standard

Zitat:
Zitat von Max K. Beitrag anzeigen
Hallo,

ist es irgendwie möglich, mit Hilfe von PHP etwas an den Browser zu senden, dass von diesem dann z.B. als Word, OpenOffice-, Pdf-Datei erkannt wird?

Es geht mir nämlich darum, nur User, die sich registriert haben, an die entspechende Datei zu lassen. Wenn ich jetzt die Datei einfach auf den Server lege und nur den Registrierten den Link dorthin mitteile ist das ja relativ schwer für Externe zu finden, aber eben nicht unmöglich.

Deshalb brauche ich ein Skript welches überprüft ob der betreffende angemeldet ist und, wenn ja, an den Client irgendeine Datei übermittelt, bzw. dem Client mit "echo" eine Zeichenfolge sendet, die dieser als eine solche Datei versteht und anzeigt.


Danke für Tipps schonmal im Voraus

Max K.
Außerdem kann man das Format einfach ändern
__________________
MfG
~Capfly
Jetzt NEU! Cpix & Wbits Katahlan.de - Das Browsergame
Capfly 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
[Erledigt] Videos hochladen funktioniert nur unter Windows? Squall PHP Tipps 2009 2 27.04.2009 23:44
[Erledigt] Fragen zum Affenformular Knutschi PHP Tipps 2009 34 12.04.2009 22:48
Dateityp mit Javascript in einem Input erkennen Plague HTML, Usability und Barrierefreiheit 11 01.07.2007 16:31
Dateityp (z.B. image/gif, image/jpg) einer Datei bestimmen DirkHo PHP Tipps 2006 2 03.09.2006 18:10
Dateityp auslesen ? PHP Tipps 2007 2 06.11.2005 23:38
dateityp bereits vorhandener dateien PHP Tipps 2005-2 2 07.09.2005 00:55
Dateityp auswerten flual2000 PHP Tipps 2005-2 3 12.08.2005 09:16
Dateityp und Größe abfragen vor FTP-Upload mit PHP nicobischof PHP Tipps 2005-2 1 10.08.2005 22:50
Bilder Upload - Dateityp direkt im Formular festlegen ? Cyberbob_at_tot PHP Tipps 2005-2 17 03.08.2005 16:35
Welcher Dateityp ist *.do Kort Off-Topic Diskussionen 9 02.04.2005 20:52
Datei ohne Endung auf Dateityp überprüfen (-&amp;gt; PDF) PHP-Fortgeschrittene 6 22.09.2004 11:24
dateityp feststellen Simbo PHP Tipps 2004 5 11.08.2004 10:01
PDF erstellen mit welchem Dateityp? PHP-Fortgeschrittene 2 11.07.2004 13:37

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php sicherheit dateityp vorgaukeln, dateityp angeben php, dateityp in php script ändern, php dateiformat vorgaukeln, dateitypen php ändern, dateityp mit \content-type: application/pdf;\, php datei simulieren, dateityp skript, php datei senden kein datei typ, pfad vorgaukeln php, php dateityp angeben, dateityp mittels php ändern

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:33 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