2013-01-16 192 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'])以外的其他用途吗? –