Php 在将HTML标记放入数据库之前将其剥离
我有一个发布系统,但我不希望人们在发布时能够使用HTML标记,下面是数据库查询的代码Php 在将HTML标记放入数据库之前将其剥离,php,html,Php,Html,我有一个发布系统,但我不希望人们在发布时能够使用HTML标记,下面是数据库查询的代码 if (!empty($post1) && !empty($title)) { strip_tags($post1); // Only set the picture column if there is a new picture $query = "INSERT INTO kaoscraft_posts (`username`, `rank`, `gender`, `pictu
if (!empty($post1) && !empty($title)) {
strip_tags($post1);
// Only set the picture column if there is a new picture
$query = "INSERT INTO kaoscraft_posts (`username`, `rank`, `gender`, `picture`, `post_date`, `title`, `post`, `category`) VALUES ('$username', '$rank', '$gender', '$picture', NOW(), '$title', '$post1', '$category')";
mysqli_query($dbc, $query);
这是表格
<form enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo MM_MAXFILESIZE; ?>" />
<fieldset>
<legend>Post Here:</legend>
<label type="hidden" for="title">Title:</label><br />
<input type="text" name="title"><br /><br />
<select id="category" name="category">
<option value="G" <?php if (!empty($category) && $category == 'G') echo 'selected = "selected"'; ?>>General</option>
<option value="Srv" <?php if (!empty($category) && $category == 'G') echo 'selected = "selected"'; ?>>Server</option>
<option value="C" <?php if (!empty($category) && $category == 'G') echo 'selected = "selected"'; ?>>Clan</option>
<option value="SA" <?php if (!empty($category) && $category == 'G') echo 'selected = "selected"'; ?>>Staff App</option>
<option value="V" <?php if (!empty($category) && $category == 'G') echo 'selected = "selected"'; ?>>Videos</option>
</select><br /><br />
<label type="hidden" for="post1">Post Content:</label><br />
<textarea rows="4" name="post1" id="post1" cols="50"></textarea><br />
</fieldset>
<input type="submit" value="Save Post" name="submit" />
</form>
PHP有一个内置函数用于此目的:strip_标记。他们网站上的例子如下:
<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";
// Allow <p> and <a>
echo strip_tags($text, '<p><a>');
?>
因此,您只需添加strip_标记($post1);在将其添加到数据库之前(或在添加过程中)。在调用strip\u标签后,需要重新分配$post1
$post1 = strip_tags($post1);
另外,除非您在其他地方有可靠的SQL转义代码,否则我强烈建议您研究如何从SQL注入中保护代码。如果您直接将用户输入放入SQL查询,他们可能会输入恶意SQL语句。您的PHP易受SQL-injection攻击。可能存在重复的