Думается, в теории как раз и не возможно) Если тока не сделать скрипт, который "вечно" висит, слушая через локальный порт всё что приходит и анализируя всё, а затем открывая по запросу ещё сокет с назначением и постоянно читая один и другой и записывая ответы в эти же сокеты. На данный момент, познакомился с проксомитроном (proxomitron) , сильная вещь оказалась
ещё выяснил, что $content = file_get_contents("php://input"); не позволяет в ряде случаев получить полностью картину пришедшего POST, оригинальная безнадёжно теряется если есть заголовок мультиформа (Добавление)
OrmaJever пишет:
тоесть даные нужно взять и перенаправить куда нужно
В этом то и загвоздка, что браузер шлёт просто CONNECT и ожидает, а секретные данные шлёт уже после начала работы скрипта, то есть когда PHP их уже не "читает".
перерыв кучу информации по php, склоняюсь к мысли что https прокси написать невозможно. Ввиду того, что скрипт не может получать данные от инициатора после начала работы скрипта
Cмысл жизни в том, чтобы выполнять программу заложенную в нас химикофизическим способом (ДНК). То что мы в итоге делаем - и есть то, что надо нашему создателю. Хотя всё таки именно смысла жизни для именно нас нет, как нет его и автомобиля, который мы сделали для себя если по аналогии
Понадобилось сделать скрипт самодельного прокси. Полностью автономного и без клиентов. Не обладая глубокими познаниями, я провозился недели две, изучая принципы работы. Просьба не ругать, если увидете что-то "кустарного" мыслепроизводства в нём)
Собственно чем занимается скрипт - он не просто отправляет пакеты от платёжной программы на саму платёжную систему, а ищет совпадения URL в пакете, и если находит, то отправляет пакеты на другую платёжную систему. Это уже работает, вопрос, как сделать так, чтобы если какие то обновления платёжная программа закачивала, то у неё получалось это сделать по HTTPS и по ftp
Скажу сразу, сей код реально работает, всё что по http он тянет.
Для работы, в апаче пришлось сделать виртуальный хост написав такое:
То есть мы указали апачу, что наш прокси-скрипт будет на 8080
Далее в .htaccess (который в C:/vip-site/www/proxy) прописал такое:
Options MultiViews
Order deny,allow
allow from all
DirectoryIndex 1.php
RewriteEngine on
Options +FollowSymlinks
RewriteRule ^(.*)$ 1.php [L,QSA]
Методом тыка, я выяснил что именно такое позволяет направлять апачу всё в 1.php, кроме совсем уж кривых запросов типа
GET http://www[dot]tns-counter[dot]ru/V13a**[dot][dot][dot]msec=yandex_ya/0 HTTP/1.0" 403 247
Как сей баг в апаче решить не знаю, он пишет в логах ошибок что данный путь содержит шаблонные символы и вообще не передаёт скрипту ничего)
Теперь сам скрипт, кстати, работает он и с оперой и с IE (В целях отладки- наблюдения, постоянно добавляются записи в файл лог с уникальным именем)
fwrite($crack_log_otkr," прокси отослал такое что ниже на $host, порт $server_port\r\n\r\n$out ==== \n\n ответ ему пришёл такой: \r\n");// запись в лог файл ;
Признаю, что всё это выглядет в черновом виде, писалось на скорую руку, букв много, но это для http работает. Что добавить, чтобы и для https работало?
а как узнать к через что может работать (если может) именно этот libipriv.dll ?
сразу скажу, особых познаний на Win32API, и на COM-интерфейса у меня не наблюдается
// Подписываем оригинальное сообщение закрытым ключем
var signmessage=Signer.Sign(doc,UserSecretKey);
if(signmessage!="")
{
WScript.Echo(signmessage);
// Проверяем подпись открытым ключем
var message=Signer.Verify(signmessage,UserPublicKey);
if(message!="")
WScript.Echo(message);
else WScript.Echo(Signer.ErrMsg);
}else WScript.Echo(Signer.ErrMsg);
}else WScript.Echo(UserPublicKey.ErrMsg);
}else WScript.Echo(UserSecretKey.ErrMsg);
Так же есть файл libipriv.dll
===========
Возможно ли всё это произвести силами на php, прицепив к нему этот DLL?
Уточнение: это демонстрационный скрипт подписания тестовыми ключами сообщения на киберплате, от терминала к серверу
***
Сам ключик secret.key не стандартный - продукт сил программеров киберплата, как и dll libipriv.dll
0000051701NM00000381000002730000 0000
api17032 00017033
00000000
BEGIN
lQEEAwAAQok95z4+AAABAgDrzoyI24MItz/UdYrV7as4xrjhjpYqBG3Owb7dP1pE
p6Dz4MLJkdWzm+ccjy3pTmjgvqfnaAnRyID4nrwQ9+p9AAURATXU8D817k6vAfqv
qaNX3nRlR6EMHSyDSoMzeMYZ64D5OgHqIt+rnqRLqApwk5tP5ewscxfr6coACuF5
qLJAKmAtwHRZnY8cWgKzAQBMyV0nshDFbN7+biMSPGobWjhhQ8GlVfi1636/FZqe
TQEApdjYa7cCBMKNdJojykQ977wVZpcY zDZ0zIWBRhfLez0BAPTvT/ipmFxcjtGG
z0sFSYk7QVaXIoCIdugQbd4Z+iq8TPK0CGFwaTE3MDMy
=Uxun
END
BEGIN SIGNATURE