我在Web服务器上设置了一个基本的php脚本,以接受通过Http post发送的xml文件。到现在为止还挺好。但是我想知道安全问题以及在我能够实现之前需要注意的其他事情。有谁做过这个以及我应该注意什么?
基本上我到目前为止所有人都是:
<?php
header('Content-type: text/xml');
if ( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
$postText=file_get_contents('php://input');
$datetime=date('ymdHis');
$xmlfile="myfile" . $datetime . ".xml";
$FileHandle=fopen($xmlfile, 'w') or die("can't open file");
fwrite($FileHandle, $postText);
fclose($FileHandle);
echo
'<?xml version="1.0" encoding="UTF-8"?>
<cXML>
<Response>
<Status code="200" text="OK">OK</Status>
</Response>
</cXML>';
}
?>
只是将xml文件写入Web服务器。我需要做什么检查等?
谢谢,
答案 0 :(得分:2)
你应该考虑:
顺便说一下,这会更节省内存:
$post = fopen("php://input", "r");
if ($post === false) { ... }
file_put_contents($xmlfile, $post);
答案 1 :(得分:0)
您不是让用户决定文件的名称。这很好。
我在这里看到的最重要的问题是你没有限制最大文件大小。如果没有这个,用户可以垃圾邮件服务器并填满硬盘,导致其出现故障。