【发布时间】:2014-04-28 14:17:42
【问题描述】:
我写了以下代码,我想知道是否有更好的方法来做我想做的事。
基本上,代码会读取一些文件并编写 HTML 表单来编辑每个文件。我通过 POST 数据发送文件名,但这样做似乎存在安全风险。
有没有更好或更合适的方法来做我正在做的事情?
代码:
<?php
foreach (glob('*.html', GLOB_NOSORT) as $file) {
echo '<form action="write.php">';
echo '<textarea name="' . basename($file, '.html') . '" cols="80" rows="20">' . file_get_contents($file) . '</textarea>';
echo '<input type="hidden" name="file" value="' . $file . '"><br><br>';
echo '<input type="submit" value="Save Edit"><br><br>';
}
?>
【问题讨论】:
-
如果允许用户编辑你的文件,他不值得信任吗?
-
或者换个说法:如果一个不受信任的用户已经可以在您的服务器上编辑文件,那么您的问题不是比文件名泄露更严重吗?
-
实际上 - 我可能应该提到这一点 - 有一些措施可以防止人们编辑文件,除非他们将密码存储在文件中(作为河豚哈希)。