HTML表单,php文件和文本文件。
表单有一个输入框,它使用GET或POST将输入的字符串发送到PHP文件。 PHP文件使用fopen 'a'
,fwrite
和fclose
将字符串写入文本文件,并且根本不进行清理。
文本文件设置为权限777,与其他文件位于同一文件夹中。
这里有安全问题吗?是否有人可以使用可以造成任何损害的表格发送内容?如果有,那是什么?
如果txt文件设置为666?
答案 0 :(得分:1)
根据此文件的用途,不应涉及太多风险。只需确保文件从未执行。
这意味着,永远不要eval()
此文件的内容,或将其更改为.php
或任何其他可执行文件。
但是,如果要将内容写在页面上,或者用户可以查看,那么您将面临安全风险。
答案 1 :(得分:1)
我通常使用3种方法来改进文件的安全性写入。 1)将文件从webroot移出并进入某些具有受限访问权限的文件夹,如cgi-bin。文件的路径和任何密码也应保存在webroot之外。 2)然后通过将敏感数据包含在您的页面中来包含它们。因此,如果PHP解析器失败,人们只会看到变量名称而没有详细信息。 3)如果你正在做一个帖子或者去写正在写作的文件,你也可以仔细检查这些值,并列出可能导致问题的字符,脚本等。
答案 2 :(得分:0)
从网络安全的角度来看,我没有看到任何问题,只要文本文件的路径是硬编码或以任何其他方式保护。您没有说过如果文件丢失或只读会发生什么(是的,它可能发生,例如,如果文件系统是由管理员以只读方式挂载的话)。
话虽如此,这个用例也完全没用,因为文本文件仅用作数据接收器。永远不会读取的数据接收器是无用的。当您想要从文件中读取时可能会出现问题。