Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: PHP-шлюз (POST/GET)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Cobb
Отправлено: 06 Марта, 2014 - 22:24:52
Post Id



Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Всем доброго времени суток! Победа

Подскажите пож-та в такой ситуации:

Есть данные и их нужно проверить перед занесением в БД.
Проверка осуществляется на другом сервере посредством GET запроса

Необходимо сделать промежуточное звено между БД и сервером проверки.

Можно ли (и нужно ли) на PHP написать такой конвертер? ??? Непонял!

Из БД поступает POST запрос-->Преобразовывается в GET--> Отправляется на сервер проверки.

По результатам проверки в обратном порядке возвращается ответ.

Буду рад советам, подсказкам!

P.S. Есть Apache 2.2.11 + PHP 5.3.5
 
 Top
lastdays
Отправлено: 06 Марта, 2014 - 22:26:55
Post Id



Частый гость


Покинул форум
Сообщений всего: 221
Дата рег-ции: Март 2013  


Помог: 7 раз(а)




API ?
 
 Top
OrmaJever Модератор
Отправлено: 06 Марта, 2014 - 22:33:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




В чём собственно вопрос? Однако


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Cobb
Отправлено: 06 Марта, 2014 - 22:35:53
Post Id



Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Как организовать такое преобразование? Однако
 
 Top
lastdays
Отправлено: 06 Марта, 2014 - 22:56:00
Post Id



Частый гость


Покинул форум
Сообщений всего: 221
Дата рег-ции: Март 2013  


Помог: 7 раз(а)




API.php ->

CODE (html):
скопировать код в буфер обмена
  1. <form action="?" method="post">
  2. name:<input type="text" name="name"> message: <input type="text" name="message">
  3. <input type="submit">
  4. </form>
  5. <?php
  6.  
  7. if (isset($_POST["name"]) and isset($_POST["message"])){
  8. $url = 'http://localhost/check.php';
  9. $query = http_build_query(
  10.   array(
  11.       'name'  => $_POST["name"],
  12.        'message' => $_POST["message"],
  13.    )
  14. );
  15. echo file_get_contents($url . '?' . $query);
  16. }
  17. ?>



check.php ->


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (empty($_GET["name"])) exit('не введен name');
  3. elseif (empty($_GET["message"])) exit('не введен message');
  4. else{
  5. echo 'OK';
  6. }
  7. ?>

(Отредактировано автором: 06 Марта, 2014 - 22:57:25)

 
 Top
OrmaJever Модератор
Отправлено: 06 Марта, 2014 - 23:01:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Cobb пишет:
Как организовать такое преобразование?

Какой преобразование? Взяли данные, отправили их курлом или каким нибудь fsockopen + fwrite на другой сервер, и получили оттуда ответ. Проблема то в чём? Вы хоть пробовали?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Cobb
Отправлено: 07 Марта, 2014 - 00:23:10
Post Id



Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Не издевайтесь!Недовольство, огорчение

Если бы я знал как-то попробовал бы!

Единственное, что реализовано-то обработка входящего POST-запроса.

Я из него извлекаю значения переменных.
А вот как передать их дальше-пока не соображу. Тут и прошу помощи.
Так же интересно как полученный ответ с GET возвратить в первичный запрос... Закатив глазки
 
 Top
lastdays
Отправлено: 07 Марта, 2014 - 01:15:56
Post Id



Частый гость


Покинул форум
Сообщений всего: 221
Дата рег-ции: Март 2013  


Помог: 7 раз(а)




Какое издевательство? разве что ваше над нами.
Давайте разберемся:

Cobb пишет:

Есть данные и их нужно проверить перед занесением в БД.
Проверка осуществляется на другом сервере посредством GET запроса

Есть данные, откуда полученные? да не суть.
Я выше дал ману для "курения" , эти сами данные что изображены в POST запросе вполне себе можно отправить на другой сервер.
И уже там их обработать.

Cobb пишет:

Необходимо сделать промежуточное звено между БД и сервером проверки.


Это сильно необходимо? почему бы не проверить там же, где и запись в базу происходит, зачем этот велосипед?
Cobb пишет:

Можно ли (и нужно ли) на PHP написать такой конвертер?

Это, многоуважаемый ТС, виднее вам.

Cobb пишет:

Из БД поступает POST запрос-->Преобразовывается в GET--> Отправляется на сервер проверки.

Простите, что? какие это пост запросы из бд могут поступать? ну не суть, формировать их зачем в гет если в таком же виде как пришли, в том и отправить?

Cobb пишет:

По результатам проверки в обратном порядке возвращается ответ.


Вполне-себе пример выше отсылает то, что можно проверить уже на другом хосте и дать ответ : ОК, НЕОК, ЕРРОР. ага?
 
 Top
Cobb
Отправлено: 07 Марта, 2014 - 01:39:47
Post Id



Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Lady Fortune favors the Brave!(c) Хорошо

А на счет дискуссии...


1. БД Oracle... Да и не суть... Любой прямой коннект из хранилища во внешний мир-это 100% security hole!

2. Проверка осуществляется внешним приложением. Тут и нужна DMZ

3. "Простите, что? какие это пост запросы из бд могут поступать?"...UTL_HTTP,UTL_DBWS, Java Улыбка

Так вот... Внутри одной подсети передается POST-запрос на сервер, код на PHP преобразует его в GET (Ну GET требует внешний вендор)-и идет "карусель" описанная выше Недовольство, огорчение
Хм

Если можно GET-to-GET репост-тоже буду благодарен. Просто с таким не сталкивался..

(Отредактировано автором: 07 Марта, 2014 - 01:42:36)

 
 Top
OrmaJever Модератор
Отправлено: 07 Марта, 2014 - 11:07:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Cobb пишет:
2. Проверка осуществляется внешним приложением. Тут и нужна DMZ

Как оно может принять данные? GET/POST или по TCP?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Cobb
Отправлено: 07 Марта, 2014 - 12:05:09
Post Id



Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Цитата:
Как оно может принять данные? GET/POST или по TCP?


GET/POST
 
 Top
OrmaJever Модератор
Отправлено: 07 Марта, 2014 - 12:14:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




PHP:
скопировать код в буфер обмена
  1. function curl($url, $post='')
  2. {
  3.         $cl = curl_init( $url );
  4.         curl_setopt($cl, CURLOPT_RETURNTRANSFER,true);
  5.         curl_setopt($cl, CURLOPT_HEADER, 0);
  6.         curl_setopt($cl, CURLOPT_TIMEOUT, 10);
  7.    curl_setopt($cl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36 OPR/17.0.1241.36 (Edition Next)');
  8.    if(!empty($post)) {curl_setopt($cl, CURLOPT_POST, 1); curl_setopt($cl, CURLOPT_POSTFIELDS, $post);}else{curl_setopt($cl, CURLOPT_POST, 0);}
  9.    $ex=curl_exec($cl);
  10.    curl_close($cl);
  11.    return $ex;
  12. }
  13. $data = curl('http://site.ru/file.php', 'data=здесь_то_что_нужно_фильтровать');
  14. echo $data;

вот и всё, отправили пост запрос на http://site.ru/file.php, получили ответ. Делов на одну строчку.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Cobb
Отправлено: 07 Марта, 2014 - 12:18:29
Post Id



Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Спасибо!

Сейчас попробую Пивко
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB