如何将文本写入服务器端文件

Posted

技术标签:

【中文标题】如何将文本写入服务器端文件【英文标题】:How to write text to a server-side file 【发布时间】:2017-03-10 03:59:37 【问题描述】:

所以我试图让我的网页将一些文本保存到服务器端文件。它有点像留言簿,但我希望它在一个文本文件中,这样我就可以在将它放到网站上之前对其进行审查。我一直在环顾四周,从外观上看,由于“安全隐患”,您无法使用 javascript 来实现。我见过关于 php 的东西,但 php 文件似乎对我不起作用。有没有办法在普通的 .html 中做到这一点,如果没有,我该如何制作一个 php 文件来做到这一点,并且非常具体地说明制作所述 php 文件所需的步骤。如果这有帮助的话,我正在使用 apache。感谢您的帮助。

【问题讨论】:

【参考方案1】:

这将占用一个 PHP 文件并且不安全。但是,这就是你想要的。用户可以很容易地在留言簿上签名。此外,它将在页面上显示以前的客人条目。耶!

guestBook.php

<?php

session_start();

if (!empty($_POST['name'])) 
    if (!isset($_SESSION['posts'])) 
        $_SESSION['posts'] = 0;
     else if ($_SESSION['posts'] >= 5) 
        echo "<div style='color:red'>Failed to post - max posts exceded</div>";
       else 
        $_SESSION['posts'] += 1;
        file_put_contents("guest.txt",htmlspecialchars($_POST['name']) . "<br />",FILE_APPEND);
        

echo file_get_contents("guest.txt");

?>

<form method="post" action="">
    <input name="name" type="text" value="John Kieth" />
    <input type="submit" />
</form>

附:您实际上无法通过常规 HTML/JavaScript 做到这一点。

【讨论】:

好的,我会试试的,但是我要从 html 文件中做什么呢?就像我如何调用php文件一样。这样做还有什么安全风险? 基本上,您安装一个可以运行 PHP 文件的软件。就像,WAMP。 wampserver.com/en ,然后将文件安装到正确的位置并通过 localhost/ 访问它们。注意:这个文件是自包含的。您只需要一个文件即可运行此程序。这是您唯一需要的文件。此外,我更新了 php 代码以防止大多数注入等。最后,如果您可以请投票/标记为答案,这将有很大帮助。 我目前正在尝试(在我输入此内容时下载 wamp。)但在我点击复选标记之前,有两件事:1:我显然需要测试它 2:有什么不同关于您提交的第一个使其不安全的 php?我注意到你添加了 htmlspecialchars 在将这些信息保存到后端文件时,HTML 是您的主要敌人。通过删除 HTML 标签(通过 htmlspecialchars 函数),我们现在能够避免人们插入恶意 JavaScript 或 PHP。 有道理的小旁注,(wamp仍在下载......垃圾互联网)这只会在wamp之类的软件中运行,因为我尝试用我的浏览器打开它,只是文件本身并显示就像文本一样。

以上是关于如何将文本写入服务器端文件的主要内容,如果未能解决你的问题,请参考以下文章

ESP32利用SPIFFS(闪存文件系统)创建 Web服务器实现引脚控制

Log4JavaScript 服务器端接收

如何设置iphone与电脑共享文件

ESP32/8266利用SPIFFS(闪存文件系统)创建 Web服务器实现引脚控制

asp.net后台中用啥方法可以将图片传到服务端?

可以将 Byte[] 数组写入 C# 中的文件吗?