我是一个真正的PHP菜鸟,所以这里有。
我有一个脚本来编辑一个带有表单的文件,用于放入文件中的内容,但每次进入页面时,它都会运行脚本并在放入文件之前清除文件。
另外,如何让它提交到其他页面,而不仅仅是我所做的页面?
<?php
$ourFileName = $_GET['page'];
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
$stringData = $_POST['stuff'];
fwrite($ourFileHandle, $stringData);
fclose($ourFileHandle);
?>
<form action="edit.php?page=index.html" method="post">
<textarea name="stuff" rows="10" cols="50" wrap="virtual" maxlength="300"></textarea>
<input name="submit" type="submit" value="Submit">
</form>
答案 0 :(得分:2)
你想要a+
flag作为你的第二个参数。
开放阅读和写作;将文件指针放在文件的末尾。如果该文件不存在,请尝试创建它。
此外,使用GET参数打开文件会让您对各种漏洞(例如directory traversal attacks)开放,并写入您现有的PHP文件(这反过来可能让恶意用户做任何PHP可以做的事情做)。
您还应该确保在访问它们之前设置这些变量(因此打开文件并不必要地编写)。
if (isset($_GET['page']) AND isset($_POST['stuff'])) { ... }
要提交到其他网页,请将form
的{{1}}属性更改为指向新页面。
答案 1 :(得分:0)
将文件管理代码放在if (isset $_POST['stuff']) {...}