【发布时间】:2009-04-29 19:00:27
【问题描述】:
我有通过 php 回显的基本 html 表单:
<html>
<body>
<?php
if (isset($_GET["pk"]))
{ $pk = $_GET["pk"];}
echo '<form action="up.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>';
?>
</body>
</html>
我想把pk的值传给up.php
修改 action="up.php?pk=$pk" 无效。
【问题讨论】:
-
注意!!!不要将未格式化的值(例如 echo $_GET['pk'])打印到页面!这是一个安全漏洞,它引入了一系列问题(XSS 仅举一个例子)。如果“pk”是数据库的主键并且它是一个数字,您可以使用正则表达式或 intval() 函数进行清理
-
我不会将它打印到页面上,它会被传递给 up.php,在那里它将通过参数化查询插入到数据库中 为什么需要在传输过程中对其进行清理?