2010-08-04 4 views
0

Хотя «слегка» связано с предыдущим вопросом, оно отличается. Насколько «безопасным» является этот код с точки зрения cURL? Существуют ли какие-либо другие «биты», которые должны/должны быть добавлены. Обратите внимание, что он не используется для передачи «чувствительной» информации.Безопасность этого кода 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); 
+4

хорошо выглядит .. есть проблема? Я не думаю, что это имеет какое-то отношение к безопасности ... – Fosco

+0

Нет проблем, просто не слишком уверенно в curl & security – user351657

+0

'$ data = file_get_contents (" http://www.example.com/test.xml "); 'это все, что вам нужно –

ответ

1

Мало что отметить:

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

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

+0

Спасибо за это - очень полезно – user351657

Смежные вопросы