2013-01-16 241 views
1

我正在構建一個表單,用戶可以將文件上傳到我的服務器。上傳腳本使用PHP並且安全,但我不確定我的表單操作的安全性。

目前我做的對提交如下:

<form id="apply" method="post" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES, "utf-8"); ?>"> 

我讀過關於XSS和$ _ SERVER數組以及如何使用用htmlspecialchars來保護它。

這夠了嗎?我應該做其他事嗎?

+1

,見好就收動作空白。 – datasage

+0

REQUEST_URI包含請求的腳本和查詢參數。如果你正在做一個POST請求,應該不需要在'action'中包含查詢參數。 '$ _SERVER ['SCRIPT_NAME']'應該足夠了。 –

回答

4

只需使用action="",它會POST到當前頁面。

+0

現在我感覺真的很蠢......感謝有史以來最簡單的解決方案!我不知道爲什麼我自己沒有想到這個。 – Brigante

1

它並不安全直接使用$ _ SERVER [「REQUEST_URI」]值,即使你如果想回發到同一個URL中使用的htmlspecialchars

+0

您好,您推薦使用除htmlspecialchars($ _SERVER ['REQUEST_URI'])以外的其他用途嗎? –