【发布时间】:2014-11-05 20:16:16
【问题描述】:
我有一个使用 php 从文件中检索文本的 textarea
<textarea id="txtArea" rows="26"><?php include_once( $theFile ); ?></textarea>
我找到了一个 java 代码,它允许我在检索到的文件中搜索和替换文本:https://stackoverflow.com/a/7781395/443381
但是这段代码不包括的是保存我对同一个文件所做的更改的保存功能,我尝试自己添加该功能但没有成功,所以任何人都可以帮助我实现这一点,提前谢谢
【问题讨论】:
-
您可能需要 file_get_contents() 和 file_put_contents() 。第一个将替换您当前的 include_once。 include_once() 将运行文件中的任何 PHP 代码,这意味着您将让人们控制您服务器上的 PHP 代码,这是一个非常糟糕的安全问题。您还想研究 XSS 攻击,并且想在 file_get_contents() 部分周围使用 htmlentities() 之类的东西来防止这种情况。如果 $theFile 恰好是用户输入的数据,那么您将打开另一个安全漏洞。
-
Javascript != java...删除标签
-
感谢您的提示,我已经尝试过 file_get_contents() 但这不会在 textarea 上呈现任何内容,所以我还能尝试什么,我的意思是我已经尝试过:
-
抱歉@Steve Siebert 这些是建议的标签
-
我强烈建议您使用文件白名单并从该列表中进行选择,而不是允许用户以您现在的方式输入任何内容。虽然用特定文件夹作为文件前缀是一种威慑,但它可能并不完美。我也强烈建议您将
<?php echo $todisplay; ?>更改为<?php echo htmlentities($todisplay); ?>以防止XSS 攻击。考虑是否有人将文件更改为此文本</textarea><script> window.location = 'www.badsite.com' </script><textarea>
标签: javascript php jquery textarea