ошибка fsockopen() has been disabled for security reasons in

Discussion in 'PHP' started by je0n, 31 May 2006.

  1. je0n

    je0n Elder - Старейшина

    Joined:
    14 May 2006
    Messages:
    345
    Likes Received:
    96
    Reputations:
    41
    я коннектюсь к 80 порту на сайт, который находится вне хостинга (на котором запускаю скрипт) и получаю эту ошибку. Ну из ошибки-то понятно, что это хостинг запрещает коннектится к другим сайтам, а можно как-нить сделать, чтобы коннектился?
    Или подскажите бесплатный хостинг, который позволяет это делать.
     
  2. max_pain89

    max_pain89 Eat `em UP!

    Joined:
    11 Dec 2004
    Messages:
    451
    Likes Received:
    140
    Reputations:
    146
    учи англицкий, скорее всего это сэйфмод так настроен (ограничивающий действия юзера и прав к разным функциям ему).
    translate.ru -> функция fsockopen() заблокирована по соображениям безопасности
     
  3. pch

    pch Elder - Старейшина

    Joined:
    22 Oct 2005
    Messages:
    34
    Likes Received:
    41
    Reputations:
    15
    Смотря зачем тебе это надо. Если тебе нужен только файл с удалённого хоста по протоколу http (в таком виде, в каком его отдаёт сервер), то можно использовать fopen() или file(). Если файл на ftp и сервер собран с "--enable-ftp", то можно заюзать ftp-функции (см. здесь). А вот общение с smpt-сервером и даже POST-запрос без сокетов не получится
     
  4. je0n

    je0n Elder - Старейшина

    Joined:
    14 May 2006
    Messages:
    345
    Likes Received:
    96
    Reputations:
    41
    2 pch:
    Ты сказал даже POST запрос не получится... Мне нужен GET запрос. Через сокет он не получается, есть предложения как сделать?
     
  5. xShreKx

    xShreKx Member

    Joined:
    2 Jul 2005
    Messages:
    11
    Likes Received:
    12
    Reputations:
    4
    Что тебе мешает сделать так:
    Code:
    <?
    $url="www.site.ru/page.php?get=123";
    fopen("$url","режим") or DIE ("Мля...");
    ?>
    И если что, можешь проверить такую штуку, которая выводить ту же страницу, только через тебя =)
    Code:
    <?
    $url="www.site.ru/page.php?get=123";
    readfile($url);
    ?>
    
    Добавил ;)
    Но проблема в том, что многие хосты (на примере холма) отказывают функциям, подобным fopen, если путь к файлу (т.е. сам файл) не принадлежит localhost-у...
     
    #5 xShreKx, 1 Jun 2006
    Last edited: 1 Jun 2006