Необходимо ли использовать mysql_real_escape_string () для изображения в mysql? - PullRequest
1 голос
/ 04 января 2012

Например:

    $data = file_get_contents($_FILES['image']['tmp_name']);
    $data = mysql_real_escape_string($data);
    mysql_query("INSERT INTO table set image='$data'....

Это правильный способ придерживаться?

Ответы [ 2 ]

6 голосов
/ 04 января 2012

Вы можете сделать base64_encode, чтобы сохранить целостность ваших данных и убедиться, что у вас не будет проблем с символами любого рода, на самом деле это очень распространенный способ хранения и передачи данных. И чтобы вернуть его, используйте base64_decode.

0 голосов
/ 04 января 2012

Я бы порекомендовал сохранить его, если нет причины удалить его, так как это хороший способ предотвратить инъекцию sql. Смотрите здесь: http://php.net/manual/en/function.mysql-real-escape-string.php.

Вероятно, можно выполнить инъекцию sql через изображение, которое пользователь мог загрузить или клиент мог случайно использовать.

Причиной неиспользования может быть производительность. Я бы рекомендовал безопасность по сравнению с производительностью.

...