【发布时间】:2012-05-30 01:49:03
【问题描述】:
我有一个表单,我正在使用 nicEdit WYSIWYG 并启用了以下按钮:
- 粗体
- 斜体
- 下划线
- 无序列表
当其中任何一个用于无序列表时,我可以提交表单并处理对我的 SQL 数据库的更新。当文本字段使用 UL 时,我从服务器收到 403 Forbidden 错误。
表单代码如下:
<form action="actions.php?action=2" method="POST">
<p>How We Met Story</p>
<textarea name="area1" cols="50" id="area1"><?php echo html_entity_decode($row_rsHowWeMet['howWeMet']); ?></textarea>
<input name="websiteID" type="hidden" value="<?php echo $_GET['websiteID'] ?>" />
<p><input id="partyEntry" type="submit" name="Submit" value="Save Changes" /></p>
</form>
而处理表单的代码如下:
$myMessage = htmlentities($_POST['area1']);
$sql2 = "UPDATE `tools_wedWebHowWeMet` SET `howWeMet` = '" . $myMessage . "' WHERE websiteID = '" . $_POST['websiteID'] . "'";
if (!mysql_query($sql2,$con))
{
echo "failed";
die('Error: ' . mysql_error());
}
任何想法为什么会发生这种情况?我已经进行了一些搜索,但没有找到可靠的答案。 StackOverflow 上有另一个线程有一个非常相似的问题,但没有答案。非常感谢。
【问题讨论】:
-
*
Look at the error_log file,403 不是来自 php 文件的错误 至少不是来自您的示例,因为您不使用任何标题来强加 403 响应,检查您的文件组和权限,很可能您的 http 服务器正在使用不同的用户来访问没有权限的文件或文件夹。除此之外,您的脚本非常危险,因为您应该考虑在插入之前阅读有关 PDO 或占位符/验证数据的信息。 phpro.org/tutorials/Introduction-to-PHP-PDO.html -
出于安全原因,我会跳过内置的
<ul>和<li>标签。相反,我会使用自定义标签重新格式化它,然后在读回数据时将其转换回来。