Benutzer mit den meisten Antworten
C# Datei upload mit php

Frage
-
Hi, derzeit benutze ich noch FTP um daten auf meinen Webserver hochzuladen, da die Anmeldedaten aber direkt im Quellcode liegen und decompiliert werden können, suche ich nun eine methode ohne Anmeldedaten. Da es ja per PHP möglich ist datei hochzuladen habe ich bei google einen einfachen simplen code gefunden, den ich gerne ändern würde. Leider habe ich ka von PHP und brauche eure Hilfe.
Mit dieser Methode kann ich Datein hochladen, allerdings steht in der PHP datei fest, wohin die daten auf den Webserver geschoben werden. Ich möchte jedoch von der Anwendung parameter übergeben, wohin die Datei verschoben werden soll.
Wie kann ich das anstellen?
C#
System.Net.WebClient Client = new System.Net.WebClient (); Client.Headers.Add("Content-Type","binary/octet-stream"); byte[] result = Client.UploadFile ("http://your_server/upload.php","POST","C:\test.txt"); this.Text = System.Text.Encoding .UTF8 .GetString (result,0,result.Length );
PHP
<?php $uploaddir = 'upload/'; // Relative Upload Location of data file if (is_uploaded_file($_FILES['file']['tmp_name'])) { $uploadfile = $uploaddir . basename($_FILES['file']['name']); echo "File ". $_FILES['file']['name'] ." uploaded successfully. "; if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully moved. "; } else print_r($_FILES); } else { echo "Upload Failed!!!"; print_r($_FILES); } ?>
Antworten
-
Hi,
was Du da wie und wo im PHP Skript ändern musst, solltest Du in einem PHP Forum fragen.
Für die Übergabe der Parameter kannst Du einfach den Querystring verwenden.
Anstelle von:
http://your_server/upload.php
gibst Du dann bspw.:
http://your_server/upload.php?Ordner=DeinOrdnername
an. Auslesen kannst Du das dann im PHP Skript mit:
$_GET['Ordner']
Was Du dann danach damit anstellen kannst, solltest Du, wie schon geschrieben, in einem PHP Forum fragen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert H4R0 Freitag, 30. November 2012 12:45
-
Hallo H4R0,
den C# Code kannst du so nicht direkt in PHP umsetzen, denn dein C# Code führst du via Win- bzw. Konsolenanwendung aus, so dass du direkt auf C:\ zugreifen kannst. PHP läuft normalerweise auf einem Webserver, die Daten bekommt PHP-Anwendung meistens über ein Webclient (Browser) zugeschickt. Der PHP-Code ist nur ein Teil des Upload, es fehlt der Teil mit dem Formular zum Hochladen von Daten, welcher dein PHP-Code als Ziel hat.
Schaue dir das mal an: http://www.php.net/manual/en/features.file-upload.post-method.php
Grüße
Tu
Edit: aber genauso kannst du auch mit asp/asp.net anstellen wenn der Web-/FTP-Server asp unterstützt. -
Also kein Unterschied. Denn quasi bekannte Anmeldedaten sind äquivalent zu keinen Anmeldedaten.. Abgesehen davon, wer sagt, das der so genutzte FTP-Zugang über die Berechtigungen verfügen muss, Daten zu löschen?
- Als Antwort markiert H4R0 Freitag, 30. November 2012 12:45
Alle Antworten
-
Über die php methode kann man die datei hochladen ohne weiteres, bei FTP muss username und passwort angegeben werden und diese daten können über umwege ausgelesen werden, was jemanden ermöglicht sich mit diesen daten per ftp client einzuloggen und alle daten auf dem webserver zu löschen.
-
Also kein Unterschied. Denn quasi bekannte Anmeldedaten sind äquivalent zu keinen Anmeldedaten.. Abgesehen davon, wer sagt, das der so genutzte FTP-Zugang über die Berechtigungen verfügen muss, Daten zu löschen?
- Als Antwort markiert H4R0 Freitag, 30. November 2012 12:45
-
Hi,
was Du da wie und wo im PHP Skript ändern musst, solltest Du in einem PHP Forum fragen.
Für die Übergabe der Parameter kannst Du einfach den Querystring verwenden.
Anstelle von:
http://your_server/upload.php
gibst Du dann bspw.:
http://your_server/upload.php?Ordner=DeinOrdnername
an. Auslesen kannst Du das dann im PHP Skript mit:
$_GET['Ordner']
Was Du dann danach damit anstellen kannst, solltest Du, wie schon geschrieben, in einem PHP Forum fragen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert H4R0 Freitag, 30. November 2012 12:45
-
Hallo H4R0,
den C# Code kannst du so nicht direkt in PHP umsetzen, denn dein C# Code führst du via Win- bzw. Konsolenanwendung aus, so dass du direkt auf C:\ zugreifen kannst. PHP läuft normalerweise auf einem Webserver, die Daten bekommt PHP-Anwendung meistens über ein Webclient (Browser) zugeschickt. Der PHP-Code ist nur ein Teil des Upload, es fehlt der Teil mit dem Formular zum Hochladen von Daten, welcher dein PHP-Code als Ziel hat.
Schaue dir das mal an: http://www.php.net/manual/en/features.file-upload.post-method.php
Grüße
Tu
Edit: aber genauso kannst du auch mit asp/asp.net anstellen wenn der Web-/FTP-Server asp unterstützt.