我在这里做了一些搜索,并希望让用户发布链接,这些链接会在我的网站上显示,以获得额外的安全保障。我在这里发现了一些代码并对其进行了修改,但它似乎没有拿起我的数组中设置的单词。
<?php
session_start();
include 'mysql-connection.php';
$comment = $_POST[comment];
$comment = htmlentities($comment);
$comment = mysql_real_escape_string($comment);
$bannedwords = array(".exe",".zip");
$matches = array();
$matchFound = preg_match_all(
"/\b(" . implode($bannedwords,"|") . ")\b/i",
$comment,
$matches
);
if ($matchFound) {
header("Location: http://mydomain/index.php");
}
else
{
mysql_query("INSERT INTO posts (postid, post_content, username)
VALUES ('', '$comment', '$username')");
header("Location: http://mydomain.org/index.php");
}
mysql_close($con);
?>
我用$ _POST [评论]抓住评论;然后改变它,如果他们发布html标签它不会弄乱页面的布局。然后我们这样做,$ comment不会导致任何mysql损坏。
接下来是我遇到问题的地方。在这种情况下,$ bannedwords基本上应该设置数组中每个单词的非案例敏感混合.exe .eXe .Exe等等。
我被卡住了,因为它仍然可以发布,而不是刷新页面。