我从一个教程学习这个PHP上传文件代码有助于了解magic_quotes_gpc的()
<form method="post" enctype="multipart/form-data">
<input name="userfile" type="file" id="userfile">
</form>
<?php
if (isset($_POST['upload']) && $_FILES['userfile']['size'] > 0) {
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
if (!get_magic_quotes_gpc()) {
$fileName = addslashes($fileName);
}
include 'library/config.php';
include 'library/opendb.php';
$query = "INSERT INTO upload (name, size, type, content) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
mysql_query($query) or die('Error, query failed');
include 'library/closedb.php';
现在我明白了通过使用PHP文件每一个函数和一切
EXCEPT
get_magic_quotes_gpc()
- 这是什么?它能做什么?
- 它是否是重要的?如果是,是否有替代品?
- PHP手册说:“这个特性自PHP 5.3.0开始已经被拒绝了,依靠这个特性是非常令人沮丧的。”请详细说明一下?
- 是不是有文件上传到(网络)服务器harDisk并提供链接到他们的方式..
此代码是容易受到SQL注入不论magic_quotes的后,你应该给它一个[安全]标签,如果你想一个更好的答案。谁写这不懂php或安全。 – rook 2010-08-18 02:39:41
好,如果禁止输入'(引号)字符在我的输入(文本框),那么我将安全SQL注入不会我... – Moon 2010-08-19 08:05:40