Задать вопрос
@9StarRu

Можно ли автоматически авторизоваться на платной, закрытой php странице?

Есть сервис, который позволяет закрыть контент страницы, сделать доступ по логину и паролю, пользователь может просмотреть контент страницы только оплатив доступ на определенное время.

Вот php код, который нужно вставить в самое начало страницы:
<?php
  $old_ua = @ini_set('user_agent', 'glopart-subscription-2');
  $response = @file("http://glopart.ru/subscription/phpform/184767?"
  ."&subscription_login_id=".urlencode($_COOKIE["subscription_login_id"])
  ."&subscription_token=".urlencode($_COOKIE["subscription_token"])
  ."&GRemoteAddr=".urlencode($_SERVER["REMOTE_ADDR"])
  ."&GUserAgent=".urlencode($_SERVER["HTTP_USER_AGENT"])
  ."&back=".$_SERVER["SERVER_NAME"].htmlentities(urlencode($_SERVER["REQUEST_URI"])));
  if ($response !== false) {
   if (count($response)>1 || $response[0] != 'true') {
    header('Content-Type: text/html; charset=utf-8');
    die(implode("", $response));
   }
  } else die('Не удалось запросить внешний сервер');
  @ini_set('user_agent', $old_ua);
?>
<?php
echo 'Дальнейший php код в который должен передаться третий параметр из url.'
?>


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

Нужно налету авторизовываться и далее выполнять скрипт, если авторизация не пройдена, т.е. доступ не оплачен, выводить информационное сообщение о необходимости оплатить доступ.

Я планирую (если это вообще реально реализовать) отправлять в url параметры:
login, password и my_params.

Можно ли это организовать с приведенным выше кодом? Если да, то как лучше.

Я планировал отправлять строку вида ~ login=admin&password=admin$my_params=123
Мне стало интересно, 3 параметр сработает после того, как скрипт будет авторизован?

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

Интересно ваше мнение по этому поводу.

p.s. есть вариант с JS
var l = document.createElement('div');
l.id='glo_lock';
l.setAttribute('style', 'position:fixed;top:0;left:0;right:0;bottom:0;background:#FFF;z-index:999');
document.body.appendChild(l);
var WARE = '4AEDDB31DD584AABBB21090EC0D743B9';
var _glo_jsForm = "<link rel=\"stylesheet\" href=\"//fonts.googleapis.com/css?family=Lato\" type=\"text/css\"><link rel=\"stylesheet\" href=\"//glopart.ru/assets/gui-styles.ffe0655e7e14f6ef9151cbd1666009be.css\" type=\"text/css\"><link rel=\"stylesheet\" href=\"//glopart.ru/assets/subscriptionForm-styles.a2ecdba6258b179bb240a44d995d5727.css\" type=\"text/css\"><div id=\"glopart_subscription\" class=\"g-subscription\"><div class=\"g-loading\"><h1>Загрузка</h1></div><div class=\"g-intro\"><div class=\"g-col-icon\"><div class=\"g-icon\"><i class=\"fa fa-lock\"></i></div></div><div class=\"g-col-body\"><h1>Доступ к сайту</h1><p>Доступ к этой странице предоставляется на платной основе.<br>Стоимость: 1000.0 Руб</p><p>После оплаты вам на почту придет письмо с вашим логином<br>и паролем для доступа.</p><div class=\"g-buttons\"><div class=\"g-row with-gutter\"><div class=\"g-col\"><a class=\"btn g-ctrl btn-green g-go-to-form\" href=\"#\">Уже есть доступ</a></div><div class=\"g-col\"><a class=\"btn g-ctrl btn-green\" href=\"https://glopart.ru/buy/184767\">Оплатить доступ</a></div></div></div></div></div><div class=\"g-form g-hidden\"><div class=\"g-col-icon\"><div class=\"g-icon\"><i class=\"fa fa-lock\"></i></div></div><div class=\"g-col-body\"><form name=\"form\"><h1>Доступ к сайту</h1><div class=\"g-hint-error g-hidden g-error-block\"><p></p></div><div class=\"g-hint-warning g-hidden g-prolong-block\"><p>Cрок действия вашей подписки закончился</p><p><a class=\"g-link dot inherit\">Продлить</a></p></div><div class=\"g-hint-info g-hidden g-access-granted\"><h5>Доступ разрешен</h5><p>Страница перегрузится автоматически.</p></div><div class=\"g-form-controls-block\"><div class=\"g-row\"><div class=\"g-col-xs-12 g-col-md-8\"><div class=\"g-form-group\"><label>Логин</label><input class=\"g-ctrl width-max\" name=\"login\" type=\"text\"></div><div class=\"g-form-group\"><label>Пароль</label><input class=\"g-ctrl width-max\" name=\"password\" type=\"password\"></div></div></div><div class=\"g-buttons\"><div class=\"g-row with-gutter g-middle\"><div class=\"g-col\"><button class=\"g-ctrl btn-green g-submit-btn\">Получить доступ</button></div><div class=\"g-col g-hint-help\"><a class=\"g-link inherit dot\" href=\"https://glopart.ru/buy/184767\">оплатить</a> или <a class=\"g-link inherit dot\" href=\"https://glopart.ru/subscription/remind/184767\" target=\"_blank\">напомнить доступ</a></div></div></div></div></form></div></div></div>";
var m = document.getElementsByTagName('script')[0];
var s = document.createElement('script');
s.src = '//glopart.ru/assets/subscriptionForm-3f89af4c89dacedf2da5.js';
m.parentNode.insertBefore(s,m);


Спасибо!
  • Вопрос задан
  • 127 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Интересно ваше мнение по этому поводу.
У Вас каша в голове.
Вы не сможете поставить задачу фрилансеру вообще никак. (про безопасность - вообще молчу...)
Единственно верное решение: заказывайте ТЗ на фрилансе.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы