Использование Cookies с cURL - PullRequest
0 голосов
/ 08 ноября 2010

Я удаленно захожу на сайт, используя cURL, и все работает нормально. Я публикую информацию для входа в систему, получаю файлы cookie и перенаправляюсь с удаленного сайта. У меня есть несколько вопросов о том, как на самом деле работают куки.

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://website' );
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_str);
    curl_setopt($ch, CURLOPT_COOKIEJAR, '/php/cookies.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE, '/php/cookies.txt');
    $result = curl_exec($ch);
    $x = curl_getinfo($ch);
    print_r($x);

1.) Есть ли какие-то проблемы с безопасностью, о которых мне нужно беспокоиться, отправляя информацию для входа через POST?

2.) Когда я устанавливаю curlopt_cookiejar в /php/cookies.txt, я фактически не вижу этот файл, сохраненный где-либо. Это может быть связано с разрешениями, но вход в систему работает в любом случае. Почему это так? Каковы будут правильные разрешения для записи и сохранения этого файла?

3.) Безопасно ли хранить файл cookiejar в виде открытого текста? Как лучше всего сохранить этот файл?

4.) Если этот сценарий регулярно используется несколькими пользователями, что мешает правильной информации о файлах cookie, расположенной в файле cookies.txt, которая отправляется обратно на сервер с использованием curlopt_cookiefile, от других записанных файлов cookie? в этом файле? Каков наилучший способ доступа к файлам cookie, срок действия которых истек, и удаления старых файлов cookie из этого файла?

Это, очевидно, очень важная функция cURL, но я не могу найти эти ответы нигде. Я надеюсь, что мастер cURL сможет раз и навсегда ответить на эти вопросы.

1 Ответ

1 голос
/ 10 ноября 2010

1) Нет

2)
2.0) Он пишет в / php, то есть вне корневой файловой системы, в папке php. Вы проверяли там?
2.1) Cookiejar будет использоваться только для последующих запросов, которые НЕ публикуют информацию для входа. На данный момент мне интересно, для чего вы используете cookiejar ... Вы уверены, что вам даже нужны эти cookie? Они (не должны) отправляться на сторонний сайт, на который вы перенаправлены, так что они делают?
2.2) Пользователю, работающему с PHP (обычно веб-серверу), потребуются разрешения на запись в этот файл.

3) Пока вы помещаете cookie-файл где-то в вашей файловой системе, к которому другие не могут получить произвольный доступ, у вас все будет хорошо - например, вы, вероятно, захотите поместить его где-нибудь за пределами корневого каталога.

4) Если этот скрипт регулярно используется несколькими пользователями, вы почти наверняка получите смесь всех различных типов данных в этом файле - что указывает на то, что вы, вероятно, должны предоставить каждому пользователю свой файл cookiejar или что-то в этом роде. ... так как местоположение просто задается через строку PHP, у вас не должно быть особых проблем с выяснением, как сделать его динамичным. CURL позаботится о том, чтобы во время последующих запросов и ответов не записывать просроченные куки в банку.

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