Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Авторизация
VeRTak  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местная прописка
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 888
Пользователь №: 41530
На форуме: 2 года, 20 дней
Карма: 11




Всем привет. Нужно сделать авторизацию на другом сайте, там данные отправляются через ajax. Думал сделать через curl. но в ajax еще посылается header.

Вот как посылается запрос.

$.ajax({
url: '/api/all.php',
type: 'post',
dataType: 'JSON',
data:
{
action:'auth',
email: "*****",
password: "*****",
js_on: 2017,
timezone_diff: -420,
recaptcha: "",
x: 970,
y: 361
},
headers: {
var: var[1]
},
success: function(result){
console.log(result)
}
}
)


Без указания этого var авторизация не проходит, так как мне пройти авторизацию с моего домена.


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26438
Пользователь №: 21350
На форуме: 7 лет, 4 месяца, 6 дней
Карма: 739




не понял проблемы.
заголовки надо посылать или?


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VeRTak  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местная прописка
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 888
Пользователь №: 41530
На форуме: 2 года, 20 дней
Карма: 11




Игорь_Vasinsky на javascript.ru читал что headers можно послать только с данного домена. Получается я не смогу послать со своего домена его. Или я не так как то понял когда читал...

В общем получается вот таким ajax у них проходит авторизация на сайте. Что бы мне авторизоваться надо послать заголовок?


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VeRTak  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местная прописка
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 888
Пользователь №: 41530
На форуме: 2 года, 20 дней
Карма: 11





$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://exemple.com/api/all.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$data = [
'action' => 'auth',
'email' => "*****",
'password' => "*****",
'js_on' => 2017,
'timezone_diff' => -420,
'recaptcha' => "",
'x' => 970,
'y' => 361
];
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
echo curl_exec($ch);
curl_close($ch);
if(is_file('cookie.txt'))
unlink('cookie.txt');


Пробую так ворачивает что авторизация не прошла, с ответом 400


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26438
Пользователь №: 21350
На форуме: 7 лет, 4 месяца, 6 дней
Карма: 739




ну это же

400 Bad Request
Запрос не может быть исполнен ввиду синтаксической ошибки.

чё то ты недоотправляешь


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VeRTak  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местная прописка
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 888
Пользователь №: 41530
На форуме: 2 года, 20 дней
Карма: 11




Игорь_Vasinsky

Что то-то я запутался.

Смотри...

Открываю консоль на их сайте.

$.ajax({
url: '/api/all.php',
type: 'post',
dataType: 'JSON',
data:
{
action:'auth',
email: "*****",
password: "*****",
js_on: 2017,
timezone_diff: -420,
recaptcha: "",
x: 970,
y: 361
},
headers: {
var: var[1]
},
success: function(result){
console.log(result)
}
}
)


Получаю авториацию

А вот при таком запросе.

$.ajax({
url: '/api/all.php',
type: 'post',
dataType: 'JSON',
data:
{
action:'auth',
email: "*****",
password: "*****",
js_on: 2017,
timezone_diff: -420,
recaptcha: "",
x: 970,
y: 361
},
success: function(result){
console.log(result)
}
}
)


400 Bad Request.

Тоже самое и с курлом, какая синтаксическая ошибка)))

Но суть не в этом. Если я правильно понял что бы курлом авторизироваться надо заголовок послать? Но ведь я пробовал, не получается. Или может не так что-то делаю вообще? В чем причина? :)


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26438
Пользователь №: 21350
На форуме: 7 лет, 4 месяца, 6 дней
Карма: 739




а если на их сайте в консоле var - послать - чё там?


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VeRTak  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местная прописка
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 888
Пользователь №: 41530
На форуме: 2 года, 20 дней
Карма: 11




Игорь_Vasinsky Там hash я предлагаю это защита от csrf. Каждый раз новый.


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26438
Пользователь №: 21350
На форуме: 7 лет, 4 месяца, 6 дней
Карма: 739




это публичное апи, или ты тупо хочешь авторизоваться там?

если не апи - то видимо болт.


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22932
Пользователь №: 20039
На форуме: 7 лет, 7 месяцев, 13 дней
Карма: 608




VeRTak
Ну так отправь нужный header правильный.

$headers = [
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Encoding: gzip, deflate',
'Accept-Language: en-US,en;q=0.5',
'Cache-Control: no-cache',
'Content-Type: application/x-www-form-urlencoded; charset=utf-8',
'Host: www.example.com',
'Referer: http://www.example.com/index.php',
'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:28.0) Gecko/20100101 Firefox/28.0',
];


curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VeRTak  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местная прописка
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 888
Пользователь №: 41530
На форуме: 2 года, 20 дней
Карма: 11




Игорь_Vasinsky Да есть у них api с ключом. Заказчик говорит, там какие то проблемы. В общем ему то ли не дают ключ то ли что я не знаю. У меня задача авторизироваться


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VeRTak  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местная прописка
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 888
Пользователь №: 41530
На форуме: 2 года, 20 дней
Карма: 11




inpost Спасибо. Отправил по мимо этого заголовки еще заголовки.

В общем, вернуло мне следующее

string(66) "��VJ�OIU�210�QJI-NV�RrJLQ(J-,M-.Q�Qr,-�P�N�T�2��7 9w."


Как с этим теперь работать? :D

Я так думаю это либо авторизация прошла, либо что-то другое :D


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VeRTak  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местная прописка
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 888
Пользователь №: 41530
На форуме: 2 года, 20 дней
Карма: 11




Раскодировал, и тут все тот же 400 ответ laugh.gif


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VeRTak  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местная прописка
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 888
Пользователь №: 41530
На форуме: 2 года, 20 дней
Карма: 11




Все куки там еще послал в заголовках, заработало.
Результат

object(stdClass)#1 (2) { ["code"]=> int(200) ["desc"]=> string(40) "Не задан параметр: action" }


Эх буду дальше разбираться. Пишет параметр не задан, хотя я его кидаю с логином паролем и остальными данными :) Всем спасибо


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VeRTak  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местная прописка
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 888
Пользователь №: 41530
На форуме: 2 года, 20 дней
Карма: 11




Возвращаюсь с данной теме.


preg_match('#box(.*?)box#', file_get_contents('https://exemple.com/'), $matches);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://exemple.com/api/all.php");
$headers = [
'Accept:*/*',
'Accept-Encoding: gzip, deflate, br',
'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4',
'Connection: keep-alive',
'Content-Length: 109',
'Content-Type: application/x-www-form-urlencoded; charset=UTF-8',
'Cookie: ****',
'Host:exemple.com',
'Origin:https://exemple.com',
'Referer:https://exemple.com/',
'User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
'VAR:'.$matches[1],
'X-Requested-With: XMLHttpRequest'
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$data = json_encode(
[

'action' => 'auth',
'email' => "***",
'password' => "***",
'js_on' => 2017,
'timezone_diff' => -420,
'recaptcha' => "",
'x' => 970,
'y' => 361,
]
);

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
$res = curl_exec($ch);
curl_close($ch);
$abc = gzinflate(substr($res, 10));
echo var_dump(json_decode($abc,true));


В ответ я получаю что не указан параметр action. Разобравшись, и посылая другой запрос такая же петрушка, у меня такое ощущение что post посылается пустой. В чем может быть причина?


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса