PHP安全写入文本文件?

时间:2012-10-10 11:23:57

标签: php

HTML表单,php文件和文本文件。

表单有一个输入框,它使用GET或POST将输入的字符串发送到PHP文件。 PHP文件使用fopen 'a'fwritefclose将字符串写入文本文件,并且根本不进行清理。

文本文件设置为权限777,与其他文件位于同一文件夹中。

这里有安全问题吗?是否有人可以使用可以造成任何损害的表格发送内容?如果有,那是什么?

如果txt文件设置为666?

3 个答案:

答案 0 :(得分:1)

从不执行

根据此文件的用途,不应涉及太多风险。只需确保文件从未执行

这意味着,永远不要eval()此文件的内容,或将其更改为.php或任何其他可执行文件。

但是,如果要将内容写在页面上,或者用户可以查看,那么您将面临安全风险。

答案 1 :(得分:1)

我通常使用3种方法来改进文件的安全性写入。 1)将文件从webroot移出并进入某些具有受限访问权限的文件夹,如cgi-bin。文件的路径和任何密码也应保存在webroot之外。 2)然后通过将敏感数据包含在您的页面中来包含它们。因此,如果PHP解析器失败,人们只会看到变量名称而没有详细信息。 3)如果你正在做一个帖子或者去写正在写作的文件,你也可以仔细检查这些值,并列出可能导致问题的字符,脚本等。

答案 2 :(得分:0)

从网络安全的角度来看,我没有看到任何问题,只要文本文件的路径是硬编码或以任何其他方式保护。您没有说过如果文件丢失或只读会发生什么(是的,它可能发生,例如,如果文件系统是由管理员以只读方式挂载的话)。

话虽如此,这个用例也完全没用,因为文本文件仅用作数据接收器。永远不会读取的数据接收器是无用的。当您想要从文件中读取时可能会出现问题。