Сначала идет проверка на существование переменной : Потом заносится в переменную : Что можно ещё использовать кроме htmlspecialchars для усиления безопасности ??? Предложите свое решение?
Code: $test= str_replace("<","_",$test); $test= htmlspecialchars(stripslashes($test)); $test= substr($HTTP_POST_VARS["test"],0,30); Можно и это попробовать.
Ошибка <?php fclose(fopen('cookie.txt', 'w')); $url = array( 'login'=>'http://fundux.ru/login', 'index'=>'http://fundux.ru/', 'post'=>'http://fundux.ru/project' ); $login_data = 'login=XD;pass=WuHoMoCruF'; $messages = file('mess.txt'); $curl = curl_init(); $setopt = array( CURLOPT_URL => $url['login'], CURLOPT_POST => 1, CURLOPT_RETURNTRANSFER => 1, CURLOPT_TIMEOUT => 60, CURLOPT_REFERER => $url['index'], CURLOPT_USERAGENT => 'Mozilla/4.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3', CURLOPT_COOKIEJAR => 'cookie.txt', CURLOPT_HEADER => 0, ); curl_setopt_array($curl,$setopt); curl_setopt($curl,CURLOPT_POSTFIELDS, $login_data); curl_exec($curl); curl_setopt($curl, CURLOPT_URL, $url['post'].rand(1, 9999)); curl_setopt($curl,CURLOPT_POSTFIELDS, 'message='.$messages[0].'&does=1&secure=1266508429&chas=d8841b08bc'); curl_exec($curl); curl_setopt($curl, CURLOPT_URL, $url['post'].rand(1, 9999)); curl_setopt($curl,CURLOPT_POSTFIELDS, 'message='.$messages[1].'&does=1&secure=1266508429&chas=d8841b08bc'); curl_exec($curl); curl_close($curl); ?> Выдает ошибку Fatal error: Call to undefined function curl_init() in /home/aiq/s/a/f/safinik/public_html/project.php on line 14 Как исправить ???
Есть код определения ПР: PHP: <?php error_reporting (E_ALL & ~E_NOTICE); /** * Google Page rank data grabber. * Based on Google toolbar data. * * Working with data like that: * "Rank_1:1:6". Without XML/HTML parsing. * * @important: * This code is for cognitive purposes only. * Usage of this code is against Google's terms of service. * No support is provided for this code. * Can be used "as is" for your own risk. * * @requirements: * - PHP version 5 (can easily be downgraded to PHP4) * - cURL library (but you can replace curl functions with * PHP standard fopen/fread or other) * * @version 1.1 * @author exstabler // PHP version * @author snoopy // JS version * * @changelog: * - 2007-01-18: * 1. [exstabler] Deprecated method intToHex deleted. * 2. [exstabler] Method toHex8 corrected. * * @sample usage: * $obj = new PageRankGrabber(); * $rank = $obj->getRank('http://dir.org.ru'); */ class PageRankGrabber { /** * Returns PageRank for specified page * @param string $url * @return integer PageRank value */ public function getRank($url) { $pageUrl = $this->getRankUrlStingByPageUrl($url); $content = $this->getContentCurl($pageUrl); echo $pageUrl; $parts = explode(":", $content); return intval(@$parts[count($parts)-1]); } /** * Returns content by URL with using * cURL library. * * @param string $url * @return string Site content */ public function getContentCurl($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); $result = curl_exec($ch); curl_close($ch); return $result; } /** * Returning URL where PR can be grabbed. * * @param string $page - Page URL * @return string */ public function getRankUrlStingByPageUrl($page) { $this->awesomeHash($page); $hash = "8" . $this->awesomeHash($page); $url = "http://toolbarqueries.google.com/search?sourceid=" . "navclient-ff&features=Rank&client=navclient-auto-ff&"; $url .= "ch=" . $hash . "&q=info:" . urlencode($page); return str_replace(' ', '', $url); } /** * Transforms integer into hexademical * * @param int $num * @return string */ private function toHex8($num) { $vector = "0123456789abcdef"; return $vector[($num % 256) / 16] . $vector[$num % 16]; } /** * Service function: encoder */ private function hexEncodeU32($num) { $result = $this->toHex8($this->zerofillShift($num, 24)); $result .= $this->toHex8($this->zerofillShift($num, 16) & 255); $result .= $this->toHex8($this->zerofillShift($num, 8) & 255); return $result . $this->toHex8($num & 255); } /** * Service function: hashing */ private function awesomeHash($value) { $hashSeed = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE." . "Yes, I'm talking to you, scammer."; $intValue = 16909125; for($i = 0; $i < strlen($value); $i++ ){ $intValue ^= $this->charCodeAt($hashSeed, $i % strlen($hashSeed)) ^ $this->charCodeAt($value, $i); $intValue = $this->zerofillShift($intValue, 23) | $intValue << 9; } return $this->hexEncodeU32($intValue); } /** * The charCodeAt() method returns the Unicode * of the character at a specified position. * * @param int $value */ private function charCodeAt($value, $position) { $symbol = $value[$position]; // ord() is for ASCII! // Original function should work with UTF-8. return ord($symbol); } /** * Service function: zerofil with shifing * (unsigned shift right). */ private function zerofillShift($a, $b) { $z = hexdec(80000000); if ($z & $a) { $a = ($a >> 1); $a &= (~$z); $a |= 0x40000000; $a = ($a >> ($b-1)); } else { $a = ($a >> $b); } return $a; } } $obj = new PageRankGrabber(); $rank = $obj->getRank('http://google.com'); echo " hello ".$rank."<br>"; phpinfo(); ?> Один и тот же код на разных серверах. На всех серверах кроме одного выполняется корректно, хеш считает: http://toolbarqueries.google.com/search?sourceid=navclient-ff&features=Rank&client=navclient-auto-ff&ch=8183b0d79&q=info:http%3A%2F%2Fgoogle.com А на нужном выдает ошибку: Code: PHP Notice: Uninitialized string offset: -1 in /var/www/html/prcheck/index3.php on line 89 и ничего не считает: http://toolbarqueries.google.com/search?sourceid=navclient-ff&features=Rank&client=navclient-auto-ff&ch=80ffffff&q=info:http%3A%2F%2Fgoogle.com Уже несколько раз пересобирал пхп, включал-отключал модули. Хоть убейся не могу найти зависимость. Огромная просьба помочь, может у кого есть идеи.
денвер найдешь где скачать,а тут написано про установку курла на него http://parsing-and-i.blogspot.com/2009/09/curl-denwer.html
Мне нужно вывести предложение изходя из времени. К примеру: с 9:00 по 10:35 - вывод: Доброе утро с 12:50 по 14:25 - вывод: Добрый день с 16:20 по 17:55 - вывод: Добрый вечер Как это реализовать в php? Есть ли стндартные функции? Если нет, то где искать решение? ЗЫ: Ответа не нашел, видимо не нашелся как сформировать поисковый запрос.. уж сложно в отношении данного вопроса
PHP: $date = date("Hi"); if( $date >= 0900 && $date <= 1035 ) echo "Доброе утро"; if( $date >= 1250 && $date <= 1425 ) echo "Добрый день"; if( $date >= 1620 && $date <= 1735 ) echo "Добрый вечер";
что за ошибка Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/realbn/domains/*****/public_html/parser/parser2.php:6) in /home/realbn/domains/*****/public_html/parser/parser2.php on line 7???
Видимо есть пробелы\пустые строки в <?php там ничего не должно быть... Подробнее тут http://joomlaforum.ru/index.php?topic=34534.0
сам код хер знает где пробелы <? session_start(); require ('config.php'); if ($_SESSION['login']<>$admin_login and $_SESSION['password']<>$admin_passw) { header("Location:/parser.php?err=falce"); exit(); } ?>