2012-09-24 10 views
3

Ok, donc j'utilise html depuis un moment et j'apprends à utiliser les fonctions PHP maintenant. J'ai un domaine et j'utilise un site d'hébergement pour héberger mes fichiers, j'ai un fichier php qui permet aux utilisateurs de télécharger des photos vers un fichier spécifié mais je continue à recevoir des messages d'erreur. la fonction fonctionne sur mon serveur, donc je sais que c'est correct, donc je crois que c'est probablement un problème de sécurité avec le site que j'utilise pour héberger le fichier. donc je voudrais utiliser mon serveur pour gérer le php et accepter le téléchargement. J'ai essayé juste d'entrer mon URL du fichier php sur mon serveur dans la ligne #post mais j'aurais dû savoir que ce ne serait pas aussi simple. J'ai étudié cela et il me semble que j'ai besoin de mettre en place un fichier php "page d'écoute" et une variable qui définit l'URL. Depuis que je suis très nouveau à ce que j'espérais que quelqu'un pourrait m'aider avec des instructions spécifiques afin que je puisse voir les mécanismes de cela et le comprendre mieux. voici mon code:Comment accéder à un fichier PHP sur un serveur distant

<form enctype="multipart/form-data" action="upload.php" method="POST"> 
    Please choose a file: <input name="uploaded" type="file" /><br/> 
    &#60;input type="submit" value="Upload" />` 

une fois que l'utilisateur envoie le fichier, il est géré par le code suivant

$target = "upload/"; 
$target = $target . basename($_FILES['uploaded']['name']) ; 
$ok=1; 
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) 
{ 
    echo "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded"; 
} 
else { 
    echo "Sorry, there was a problem uploading your file."; 
} 

if ($uploaded_size > 10000) 
{ 
    echo "Your file is too large.<br>"; 
    $ok=0; 
} 

if ($uploaded_type =="text/php") 
{ 
    echo "No PHP files<br>"; 
    $ok=0; 
} 

alors comment j'obtenir le formulaire d'appeler cette fonction sur mon serveur? http://www.server-name/folder/upload.php

+0

C'est ce que le bit 'action =" ... "' dans les balises '

' est pour. Il spécifie l'URL à laquelle les données de formulaire doivent être soumises. Dans votre cas, votre script côté serveur doit s'appeler 'upload.php', dans le même répertoire/dossier que celui dans lequel le formulaire a été chargé. AVERTISSEMENT AVERTISSEMENT AVERTISSEMENT: vous n'avez aucune manipulation/validation d'erreur sur votre code de gestion de téléchargement et vous utilisez un nom de fichier spécifié par l'utilisateur comme destination de stockage. Cela permet aux utilisateurs malveillants de gribouiller sur n'importe quel fichier sur votre serveur. Tu ne fais que supplier d'avoir pwn3d. –

Répondre

1

Ceci est dû au fait que votre serveur ne vous permet pas de télécharger des images externes sur votre serveur.

Modifiez l'autorisation du répertoire de téléchargement d'images du serveur sur 777.

Questions connexes