📅  最后修改于: 2023-12-03 15:31:09.649000             🧑  作者: Mango
.htaccess
文件是 Apache 服务器中一种配置文件,它可以被用来控制网站的许多方面,包括 URL 重写、缓存控制、身份验证等等。在本文中,我们将会介绍如何使用 .htaccess
文件来控制网站的评论功能,以便让管理员能够轻松地管理评论,同时保护网站免受垃圾评论。
首先,我们需要在网站根目录下创建一个 .htaccess
文件。如果你已经有了一个 .htaccess
文件,请确保备份它,以防出现意外。
使用文本编辑器打开 .htaccess
文件。
如果你已经使用 WordPress 或类似的脚本来构建你的网站,你可以跳过这一步。
在开启评论功能之前,我们需要确保 Apache 服务器已经开启了 mod_rewrite
模块。如果你不确定是否开启了该模块,请联系你的主机服务提供商。
现在,我们可以在 .htaccess
文件中添加以下代码,以启用评论功能:
# Allow comments
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^comments/(.*)$ /comments.php?id=$1 [QSA,L]
</IfModule>
这段代码将重新路由所有 /comments/{post_id}
的 URL 到 /comments.php?id={post_id}
,其中 {post_id}
是当前文章的 ID。现在,我们需要创建一个 comments.php
文件来处理评论。
现在我们已经启动了评论功能,但我们需要一个脚本来处理评论。以下是 comments.php
文件的代码:
<?php
// Check if the form has been submitted
if(isset($_POST['submit'])){
// Get the comment data
$name = $_POST['name'];
$email = $_POST['email'];
$comment = $_POST['comment'];
$post_id = $_POST['post_id'];
// Insert the comment into the database
$sql = "INSERT INTO comments (name, email, comment, post_id) VALUES ('$name', '$email', '$comment', '$post_id')";
$result = $conn->query($sql);
}
?>
该脚本将检查提交的评论表单是否有效,并将评论添加到数据库中。你需要根据你的网站需求修改该脚本,并根据需要添加安全措施。
现在我们已经启用了评论功能并可以处理评论,我们需要显示评论。以下是一个简单的示例代码:
<?php
// Get the comments for the current post
$sql = "SELECT * FROM comments WHERE post_id='$post_id'";
$result = $conn->query($sql);
// Display the comments
while($row = $result->fetch_assoc()){
echo '<div class="comment">';
echo '<p><strong>'.$row['name'].'</strong> <em>'.$row['email'].'</em></p>';
echo '<p>'.$row['comment'].'</p>';
echo '</div>';
}
?>
该代码将从数据库中检索评论,并将它们以 HTML 格式输出到页面中。你需要根据你的网站需求修改该脚本,并根据需要添加样式。
最后,我们需要防止垃圾评论。以下是一个简单的方法:
# Block spam
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} /comments
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yourdomain\.com/ [NC]
RewriteRule .* - [F]
</IfModule>
这段代码将拒绝所有来自 /comments
页面的 POST 请求,除非它们来自你的网站。你需要将 yourdomain
替换为你的网站域名。
在本文中,我们介绍了如何使用 .htaccess
文件来控制网站评论功能。我们学习了如何启用评论功能,处理评论,显示评论和防止垃圾评论。你可以根据你的网站需求修改这些代码,并在需要时添加更多安全措施。