Безопасность этого кода CURL - PullRequest
0 голосов
/ 04 августа 2010

Хотя «немного» относится к предыдущему вопросу, оно отличается.Насколько "безопасен" этот код с точки зрения cURL?Есть ли какие-либо другие «биты», которые следует / нужно добавить.Обратите внимание, что он не используется для передачи «конфиденциальной» информации.

$ch = curl_init("http://www.example.com/test.xml");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);

1 Ответ

1 голос
/ 04 августа 2010

Несколько замечаний:

  • Вы должны попробовать / перехватить, если http://www.example.com/test.xml выдаст ошибку, например 404 или 500. В этом случае вы, вероятно, захотите поднятьфатальная ошибка или она была устранена в вашем приложении.
  • Вы должны рассчитать количество данных, поступающих по линии.Что если example.com решит (или будет разбит) и test.xml станет размером в несколько гигабайт?Ваше приложение должно как-то справиться с этим.
  • Возможно, вы захотите включить логику заголовка / перенаправления 30X.curl следует за редиректом, но в этом случае вы, вероятно, захотите зарегистрировать редирект, чтобы вы могли принять меры в своем приложении (изменить местоположение на новое местоположение)
  • Вы должны быть уверены, что curl_close ()всегда звонил.В случае фатальных ошибок, переполнения памяти и т. Д. Вы, конечно, не хотите, чтобы эти сокеты оставались открытыми.

Ваш код не является небезопасным и не является неправильным.Он просто не обрабатывает крайние случаи и может быть закален.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...