下面的PHP代码可以被利用吗?
任何人都可以利用我的以下代码:-下面的PHP代码可以被利用吗?,php,file,chat,Php,File,Chat,任何人都可以利用我的以下代码:- $myfile = fopen("chat.txt", "a") or die("Unable to save!"); $content = trim($_POST['message'])."\n"; fwrite($myfile, $content); fclose($myfile); 我正在制作一个小型聊天应用程序,我在text文件中编写内容,而不是mysql。性能变化不大,但我更喜欢file,因为它比mysql快一点 我唯
$myfile = fopen("chat.txt", "a") or die("Unable to save!");
$content = trim($_POST['message'])."\n";
fwrite($myfile, $content);
fclose($myfile);
我正在制作一个小型聊天应用程序,我在text
文件中编写内容,而不是mysql
。性能变化不大,但我更喜欢file
,因为它比mysql
快一点
我唯一关心的是,“有人能利用”上面的代码吗
我看不出有什么办法,只是问问,我是否遗漏了什么。是的,它们被称为攻击。他们不会告诉你如何存储数据,而是告诉你何时打印数据
基本上,这些攻击可以包括javascript代码,这些代码将在客户端计算机上运行,以窃取其cookie,例如攻击者感兴趣的会话ID
您可以通过使用编码和解码来避免这种情况。- 消息可以包含
,因此如果您依赖于此,我可能会破坏顺序/流程\n
- 信息长度不受限制我可能会让你空间不够
- 信息数量没有限制,你的IO是我的
- 消息可能包含XS(如@Xorifelse所述)
- 消息可能包含令人讨厌的控制字符,例如使用
cat
index.php?page=chat.txt
&假设您包含基于url变量($\u GET['page'])的文件,则可以插入php对象。@Theraot这不适合代码审查。这是一个特定的问题,代码审查可以针对代码的任何部分和所有部分。@Mast我在那里看到过类似的问题,关于“我已经完成了这个做X和Y的代码,它工作了,但我想知道它是否安全。人们能利用它吗?[代码列表]”@Theraot好吧,这是一个很好的提示,让代码实际输出日志。但这真的足够成为一个答案吗?(从技术上讲,上述代码没有问题)除此之外,我看不出任何问题,只是想一想前面的步骤。就像只记录日志一样,这没关系,但也许你想在你的页面上逐行打印聊天记录,这存在安全风险。我认为这是一个有用的评论,而不是回答。应该注意的是,任何体面的web服务器对帖子都有一个隐式的大小限制,这可能是错误配置的。(+1)