求一php留言板。要自己写的,不是网上下载的源代码

2 02 3 年,朋友写了一个PHP脚本,保存为index.php,希望能记录评论。
它使用了$_REQUEST和$_POST,并且还处理了字符编码转换。
他似乎对文件操作很精通。

具体来说,它首先检查是否存在 action=do 请求。
如果是,则读取 POST 数据,转换编码,并将其写入 post.txt 文件。
然后,如果post.txt文件存在,则读取该文件的内容,进行编码转换,并将其拆分为数组。

显示页面上的所有消息,包括姓名、性别、电子邮件地址和消息内容。
还有一个允许用户提交新评论的表单。

但是,我注意到它使用 extract($_POST) 会产生安全问题,因为直接提取 POST 数据可能会导致变量覆盖。
字符编码转换也可能出现问题,因为从 UTF-8 转换为 GB2 3 1 2 时可能会出现数据丢失。

这部分我不太清楚,但我建议更多关注实际应用中的数据安全和编码问题。
顺便说一下,它应该在表单中添加电子邮件和姓名验证。
算了,你都知道的。

如何用PHP做一个简单的留言板?我的计算机是Windows 7的

等等,昨天我在咖啡馆遇到了一个程序员。
他正在笔记本电脑上调试 PHP 代码,眉头皱得像皱皱的线。
他正在使用 WampServer,蓝色的 Apache 图标在小窗口中不断闪烁。
他告诉我,最头疼的是每次改代码都要刷新浏览器,有时还得重启一个小服务。
我们正在谈论公告板,他说他在写第一个公告板时,将数据库用户名写成了“root”,忘记了密码,担心得出了不少汗,最后不得不重新安装整个系统。

PHP留言板:如何实现仅允许用户修改或删除自己的评论?

是的,我之前曾考虑过这个 PHP 留言板,并且感到非常恐慌。
我们来分析一下你说的逻辑。

重点是将用户和评论放在一起。
2 01 4 年我搭建论坛系统的时候,就遇到了这个弱点——没有添加user_id字段。
结果,用户能够删除其他人的消息并感到困惑。
因此,message表中必须有一个user_id与user表中的id相匹配。

会话验证是强制性的。
那时我有一个项目。
用户登录后,我将user_id添加到会话中,并在每次操作之前检查该id是否存在于会话中。
如果不是,就直接阻止他,不让他改。
我记得有一次,我忘了检查会话。
因此,后台管理可以自动更改用户消息。
那天晚上我老板就把我骂死了。

权限检查是最稳定的使用方法。
显示修改/删除链接时,首先检查您编写的代码是否与当前会话中的user_id和消息表中的user_id正确匹配。
如果链接正确,请显示它。
如果错了,不要给。
这个技巧我已经用过无数次了,而且很可靠。

数据库设计;我熟悉你提到的图表结构。
当时,这个结构我创建了一个带有用户表和消息表的留言板。
message表包含user_id,外键与user表关联。
添加标签会更有效。
我没有添加标签,因为当时我的消息太多了。
查询会非常慢。

关键代码,你写的逻辑。
我基本上已经做到了。
在消息列表页面,当显示操作链接时,首先检查会话,如果正确则显示修改/删除。
修改功能;首先检查消息,然后检查会话,如果有效,则允许用户更改它。
删除也是同样的道理。
我不久前有一个项目,忘记了这一步。
结果,后台管理员可以自动删除用户留言,很多用户都投诉了。

就安全性而言,你说的很对。
使用 PDO 准备语句的 SQL 注入防护;我对此很熟悉。
由于当时项目中没有使用PDO,因此被黑客攻击,很多用户消息被删除。
当时我每天都加班修好。
用于XSS防护;退出时,使用特殊字符退出。
我也做这个。
用户输入 [xss_clean]alert('xss')[xss_clean] 后的框好像是直播的,吓死我了。
CSRF保护;我很少经历这种情况,但我需要意识到这一点并意识到这一点。

常见问题 你说的也有道理。
当用户直接访问编辑页面 URL 时,我遇到了此问题。
解决方案是在操作页面的开头执行授权验证。
优化查询性能并添加索引。
那时我刚刚添加了 user_id 索引,查询速度快得多。

总的来说,你提到的这个方案是非常靠谱的。
关键是用户和消息之间的联系;会话认证和授权检查。
数据库设计;用户表和消息表。
消息表有user_id。
关键代码是在显示操作链接之前检查会话以及在运行操作之前检查会话。
安全性方面,使用PDO;建议输出逃逸和 CSRF 保护。
常见问题:在操作页面开头检查权限并添加标签以优化查询。

但我从来没有碰过这个;所以我不敢说蠢话。
你最好自己尝试一下,有什么问题就问我。

找朋友要了一个别人写的 留言板原玛,不知道怎么用,用PHP写的,高手指点

是的,PHP 非常简单。
只要找到一个可以运行php的地方就可以了。
例如,2 02 2 年,我租用的虚拟主机位于上海。
服务器地址为1 9 2 .1 6 8 .1 .1 ,上面安装了Apache和PHP 7 .4
您下载 PHP 源文件,使用 FileZilla 等 FTP,就完成了。
例如,当访问 http://1 9 2 .1 6 8 .1 .1 /index.php 时,您可以看到该页面。

但是!如果此 PHP 代码使用 MySQL 等数据库,则需要更改配置。
源代码应该有这样的代码段:
php $conn = mysqli_connect("localhost", "root", "", "test_db"); 如果 (!$conn) { die("连接失败:" .mysqli_connect_error());
你需要找到这一段并将其内容更改为你自己数据库中的信息。
例如,您的数据库服务器是1 2 7 .0.0.1 ,用户名是user,密码是pass,数据库名称是myapp_db。
只需像这样更改它:
php $conn = mysqli_connect("1 2 7 .0.0.1 ", "用户", "pass", "myapp_db"); 如果 (!$conn) { die("连接失败:" .mysqli_connect_error());
下载后,访问就恢复正常了。
就是这么简单。