PHP убегает, когда мне это не нужно - PullRequest
0 голосов
/ 04 февраля 2010

У меня есть проблема, из-за которой PHP сбегает, и я действительно не хочу этого в этом коде:

        $url_ = stripslashes(((substr(strtolower($url),0,7)!="http://")? "http://".$url:$url));
        $host = $this->googleDomains[mt_rand(0,count($this->googleDomains)-1)];
        $target = "/search?";
        $querystring = sprintf("client=navclient-auto&ch=%s&features=Rank&q=%s",
            $this->CheckHash($this->HashURL($url_)),urlencode("info:".$url_));
        $contents="";

        $this->debugRes("host", $host);
        $this->debugRes("query_string", $querystring);
        $this->debugRes("user_agent", $this->userAgent);

, создавая таким образом URL, который приводит к сбою сценария:

{"urls":[{"url":"hostcule.com","converted_url":"http:\/\/toolbarqueries.google.com\/search??client=navclient-auto&ch=74451333464&features=Rank&q=info%3Ahttp%3A%2F%2Fhostcule.com"}]}

Как мне это остановить?

Магические кавычки выключены.

Вот $ url происходит от:

foreach (preg_split('#[\r\n]+#', $_POST['urls']) as $url) {
        $url = trim($url);
        if ($url)
            $_SESSION['converted_urls'][] = array('url' => $url, 'converted_url' => $pr->GetPR($url, true, true));
    }

На этом этапе $ _POST ['urls'] выглядит следующим образом:

{"urls":[{"url":"hostcule.com","converted_url":"http:\/\/www.google.com\/search??client=navclient-auto&ch=74451333464&features=Rank&q=info%3Ahttp%3A%2F%2Fhostcule.com"}]}

пока $ url выглядит как

 {"urls":[{"url":"hostcule.com","converted_url":"http:\/\/www.google.com\/search??client=navclient-auto&ch=74451333464&features=Rank&q=info%3Ahttp%3A%2F%2Fhostcule.com"}]}

Ответы [ 3 ]

2 голосов
/ 04 февраля 2010

В этом коде нет ничего, что могло бы генерировать код, который вы цитируете.

Я подозреваю, что $url уже содержит искаженный http\/\/, и поэтому ваш механизм распознавания http: // никогда не срабатывает.

Вам нужно отступить назад и посмотреть, откуда взялась $url.Там, где ваша проблема будет.

1 голос
/ 04 февраля 2010

Код, который у вас там, вообще не спасается. После этой строки вам нужно будет опубликовать то, что вы делаете, в этом $ url_.

0 голосов
/ 04 февраля 2010

используйте 'вместо "

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