Archiv verlassen und diese Seite im Standarddesign anzeigen : Beim upload sicherstellen dass es eine CSV Datei ist
derheld
18.09.2009, 14:24:41
Kann mir bitte jemand sagen wie ich beim upload einer CSV Datei überprüfen kann dass die Datei eine CSV endung hat?
feuervogel
18.09.2009, 14:29:32
Kann mir bitte jemand sagen wie ich beim upload einer CSV Datei überprüfen kann dass die Datei eine CSV endung hat?
wozu? die dateiendung hat nichts mit dem dateityp zu tun. google liefert mir übrigens folgendes:
// return true if $str ends with $sub
function endsWith( $str, $sub ) {
return ( substr( $str, strlen( $str ) - strlen( $sub ) ) == $sub );
}
derheld
18.09.2009, 16:30:17
wozu? die dateiendung hat nichts mit dem dateityp zu tun.
ein user kann auch eine exe, oder sonst etwas was nicht erwünscht ist hochladen!
das sollte man doch verhindern oder nicht?
DokuLeseHemmung
18.09.2009, 16:42:03
Ja!
Aber auch das hat wenig mit der Endung zu tun.
Endung !== Inhalt
derheld
18.09.2009, 17:18:00
na gut dann sicherstellen dass es eine *.txt oder eine *.csv ist, es gibt ja nicht so viele dateiendungen von dateien, die man in eine mysql datenbank automatisch importieren kann:)
könnte ich folgendes verwenden?
if ($type['mime'] == 'txt/txt' or $type['mime'] == 'txt/csv')
DokuLeseHemmung
18.09.2009, 17:59:19
Diese MimeTpen gibt es nicht!
Und, wo kommt $type['mime'] her?
Vom Browser, dann ist es genauso unsicher, wie alles andere.
derheld
18.09.2009, 18:19:45
kann man denn dem user ermöglichen eine tabelle in der datenbank anzulegen ohne dass man riskiert einen virus einzufangen?
knight1
18.09.2009, 19:09:01
kann man denn dem user ermöglichen eine tabelle in der datenbank anzulegen ohne dass man riskiert einen virus einzufangen?
Alles was vom Client kommt ist grundsätzlich unsicher. Egal ob hochgeladenen Dateien, Formulareingaben oder "automatisch" vom Browser mitgesendete Informationen. Alles kann manipuliert werden.
Am einfachsten wäre es denke ich per PHP-Script zu prüfen ob es sich um eine gültige csv-Datei handelt. Um gegen Viren und Trojaner einigermaßen gewappnet zu sein müsste man sich einen eigenen Virenscanner installieren. Das dürfte aber bei einem Hostingangebot schwer zu realisieren sein. Es sei denn du kennst zufällig den Pfad zu einem vom Hoster installierten Scanner, den könnte man dann mit einer Sytemfunktion aufrufen, vorrausgesetzt mat hat dazu die Rechte im Hostingsystem.
Kai aka Knight1
derheld
18.09.2009, 19:22:37
alles klar danke!
wäre es denn einigermaßen sicherer statt eines datei-uploads ein textfeld zu verwenden, wo die datensätze eingegeben würden?
knight1
18.09.2009, 19:31:02
alles klar danke!
wäre es denn einigermaßen sicherer statt eines datei-uploads ein textfeld zu verwenden, wo die datensätze eingegeben würden?
Lesen kannst Du, oder? Wenn ja, dann lese dir mal meinen ersten Abschnitt meines Posts durch. Da steht die Antwort drin.
Kai aka Knight1
derheld
18.09.2009, 21:33:22
meine letzte frage folgte, weil ich nicht sicher war ob der risikofaktor in diesen 2 verschiedenen methoden gleich groß ist, aber anscheinend muss man in diesem forum immer wieder erwähnen, dass man ein absoluter PHP-Anfänger sei damit man eine faire und höfliche antwort bekommt...
knight1
18.09.2009, 21:46:55
Ich stimme hier wohl mit der SelfPHP-Community überein wenn ich sage dass wenn eine Aussage klar und deutlich ausgedrückt ist jeder genervt reagiert wenn solche Fragen kommen, egal ob von einem Neuling, einem Fortgeschrittenen oder einem Profi.
Oder ist etwas an der Aussage "Alles ist manipulierbar." schwer zu verstehen. Da gibt es keine Gewichtung.
Und jetzt: Back to Topic.
Kai aka Knight1
vBulletin® v3.8.3, Copyright ©2000-2024, Jelsoft Enterprises Ltd.