2012-09-24 144 views
3

好的,所以我一直在使用HTML很長一段時間,現在正在學習如何使用PHP函數。我有一個域,並使用託管網站來託管我的文件,我有一個PHP文件,允許用戶上傳圖片到指定的文件,但我不斷收到錯誤消息。該功能在我的服務器上工作,所以我知道這是正確的,所以我認爲這可能是我用來託管該文件的網站的安全問題。所以我想用我的服務器來處理php並接受上傳。我試圖在我的服務器上輸入php文件的url地址,但我應該知道它不會那麼簡單。我研究了這一點,它看起來像我需要設置一個「監聽頁面」PHP文件和一個變量來定義URL。因爲我對此很陌生,所以我希望有人能夠幫助我提供具體的指導,以便我能夠看到這種機制並更好地理解它。這是我的代碼:如何訪問遠程服務器上的PHP文件

<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" />` 

一旦用戶提交它是由下面的代碼

$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; 
} 

所以如何我得到的形式來調用我的服務器上這個功能處理的文件? http://www.server-name/folder/upload.php

+0

這就是'

'標籤中的'action =「...」'位。它指定了表單數據應該被提交到的UR1。在你的情況下,你的服務器端腳本將不得不被稱爲'upload.php',在窗體加載的同一目錄/文件夾中。警告警告警告:您的上傳處理代碼沒有錯誤處理/驗證,並且正在使用用戶指定的文件名作爲存儲目標。這允許惡意用戶在他們想要的服務器上的任何文件上塗寫。你只是乞求得到pwn3d。 –

回答

1

這是因爲您的服務器不允許您將外部圖像上傳到您的服務器。

將服務器的圖片上傳目錄權限更改爲777