Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подскажите со скриптом (CURL)
 
 автор: Valeri   (05.02.2005 в 14:05)   письмо автору
 
 

Знакомый слил скрипт, Говорить что он у него работает 100%. Ставлю на хос у себя не работает. Обратился в техпотдержку хоста, они вообще такое заявили что я чуть не упал, что это не РНР, а ASP поэтому он не работает.
Может кто подскажет в чем проблема.
cURL на хосте включен.

<? 
class APayments
{
  var 
$PROCES_DETAILS;
 
  function 
Breakout($errno$key="")
  {
    switch(
$errno)
    {
      case 
1:
        
$this->PROCES_DETAILS["Error"]  = "Error with var $key";
      break;
 
      case 
2:
        
$this->PROCES_DETAILS["Error"]  = "No vars";
      break;
 
      case 
3:
        
$this->PROCES_DETAILS["Error"]  = "Could not connect to e-gold server";
      break;
    }
  }
 
  function 
Check_vars($vars)
  {
    if(
$vars["ERROR"])
      
$this->PROCES_DETAILS["Error"]  = $vars["ERROR"];
    elseif(
$vars["PAYMENT_BATCH_NUM"] && $vars["PAYMENT_AMOUNT"])
      
$this->PROCES_DETAILS["Batch"]  = $vars["PAYMENT_BATCH_NUM"];
    else
      
$this->PROCES_DETAILS["Error"]  = "Unknown error";
  }
 
  function 
Output($output)
  {
    if(
preg_match_all("/<input type=hidden name=([^']*?) value=\"([^']*?)\">/"$output$matches))
    {
      
$num  count($matches[1]);
 
      for(
$i=0;$i<$num;$i++)
      {
        
$output_vars[$matches[1][$i]]  = $matches[2][$i];
      }
 
      
$this->Check_vars($output_vars);
    }
    else
    {
      
$this->Breakout(2);
    }
  }
 
  function 
Pay($data)
  {
    
$vars    "";
 
    foreach(
$data AS $key => $value)
    {
      if(
$key && $value)
        
$vars    .= "$key=$value&";
      else
        
$this->Breakout(1$key);
    }
 
    if(
$vars)
      
$vars    substr($vars0strlen($vars) - 1);
    else
      
$this->Breakout(2);
 
    
$cu      curl_init();
 
    
curl_setopt($cuCURLOPT_URL,        "https://www.e-gold.com/acct/confirm.asp");
    
curl_setopt($cuCURLOPT_SSL_VERIFYHOST,  2);
    
curl_setopt($cuCURLOPT_USERAGENT,      "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
    
curl_setopt($cuCURLOPT_POST,        1);
    
curl_setopt($cuCURLOPT_POSTFIELDS,    $vars);
    
curl_setopt($cuCURLOPT_RETURNTRANSFER,  1);
    
curl_setopt($cuCURLOPT_TIMEOUT,      100);
 
    
$output    curl_exec($cu);
    
$succeeded  curl_errno($cu) == true false;
 
    
curl_close($cu);
 
    if(!
$succeeded)
      
$this->Breakout(3);
    else
      
$this->Output($output);
  }
}
 
$apayment  = new APayments;
$data = Array();
$data["AccountID"] = "номер вашего аккаунта";
$data["PassPhrase"] = "Пароль от вашего аккаунта";
$data["Payee_Account"] = "Аккаунт КУДА СТАТЬ ДЕНЬГИ";
$data["Amount"] = "Сумма перевода (разделитель . )";
$data["Memo"] = urlencode(stripslashes("Opisanie perevoda"));
$data["PAY_IN"] = "1";
$data["WORTH_OF"] = "Gold";
$data["IGNORE_RATE_CHANGE"] = "Y";
$apayment->Pay($data);
echo 
$apayment->PROCES_DETAILS["Error"]; // possible error
echo $apayment->PROCES_DETAILS["Batch"]; // batch nr
?>


Выдает ошибку
[Could not connect to e-gold server/b]
пробовал не по HTTPS, а по HTTP, выдает ошибку
[b]No vars

Хочется хотя бы знать, в чем дело, в скрипте или хосте ?
Буду признателен за подсказку.

   
 
 автор: cheops   (05.02.2005 в 16:14)   письмо автору
 
   для: Valeri   (05.02.2005 в 14:05)
 

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

   
 
 автор: Valeri   (05.02.2005 в 18:35)   письмо автору
 
   для: cheops   (05.02.2005 в 16:14)
 

спасибо
напишу в техпотдержку и дам сюда ссылку
посмотрим что ответят

   
 
 автор: Valeri   (05.02.2005 в 20:23)   письмо автору
 
   для: Valeri   (05.02.2005 в 18:35)
 

вот что мне ответила поддержка хоста

Если вы уверены, что со скриптом все хорошо, то значит его работе мешает настройки сервера. Если скрипту мешают настройки сервера, то это значит, что в скрипте есть что-то затрагивающее безопасность сервера. Если скрипт затрагивает безопасность сервера, то нечего делать этому скрипту на сервере.

Этот сервер мы настроили более года назад, и ни у нас, ни у наших клиентов проблем со скриптами небыло и нет. Если это супервыпендрежный скрипт - то это проблемы программиста который вот это писал, а не наши.

Ответ понятен?

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

   
 
 автор: cheops   (05.02.2005 в 22:25)   письмо автору
 
   для: Valeri   (05.02.2005 в 20:23)
 

Ммм... а вы не может привести имя хостинга, я если честно первый раз вижу, чтобы так с клиентами общались (если конечно это не бесплатный хостинг, тогда всё нормально и в настройках и ответе :). cURL - это достаточно новая библиотека и не на всех хостингах она настрена... раньше все операции осуществлялись через сокеты (этот скрипт тоже можно переписать через сокеты), cURL просто облегчает эту задачу. На хостинге для наладки сервера судя по всему приглашали стороннего человека, а сейчас сервер просто не трогают ("работает не трогай"). Скорее всего так решили миминизировать входящий трафик, который может создавать cURL или ещё чего, если честно не знаю из каких соображений запретили.

   
 
 автор: Valeri   (06.02.2005 в 00:23)   письмо автору
 
   для: cheops   (05.02.2005 в 22:25)
 

вот адрес хоста

https://www.highthost.ru/

насколько я понимаю, получается, что техподдержка совершенно не граматная в настройках и обслуживание сервера :(
так же спросил их могут ли они откомпилировать десигнер для ВМ, в общем сказали что без проблем но по времени это займет не меньше недели, хотя я не понимаю в чем тут-то проблема ?
пошла вторая неделя, все стоит на месте.
что можете посоветовать из хостов не особо дорого, с 50 метрами и грамотной поддержкой ?
вообще может что-то есть интересное и нормальное с ресселеровскими планами ?

   
 
 автор: cheops   (06.02.2005 в 13:17)   письмо автору
 
   для: Valeri   (06.02.2005 в 00:23)
 

Обсуждение платных хостингов было инициировано по теме

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1965

   
 
 автор: Atom   (05.02.2005 в 22:37)   письмо автору
 
   для: Valeri   (05.02.2005 в 20:23)
 

Мне кажется от такой техподдержки нужно бежать, бежать и еще раз бежать =)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования