господа, имхо вы занимаетесь выковыриванием соплей из жопы. пример с константами, который привёл GreenBear помоему самый адекватный. Или ещё как вариант защитить паролем через .htaccess Code: AuthName "PREVED MEDVED" AuthType Basic AuthUserFile /www/.htpasswd require valid-user и соответственно файл .htpasswd с логинами и паролями.
Фаил .htpasswd я создал и занёс пароли через прогу Но почемуто пароль не подходит... Писал так: C:\adenki.ru\htpasswd.exe -mc .htpasswd user там вводил пароль :123456 В фойле получилось такое: PHP: user:$apr1$Q/2.....$xkh4ilfOTuG4z7Ym0Jkda1
Через сайт получилось так, но всё равно не заходит Содержание .htaccess: PHP: Options +Includes +FollowSymLinks -Indexes AddHandler server-parsed .shtml DirectoryIndex index.shtml index.htm index.php index.html AddDefaultCharset windows-1251 CookieTracking on CookieExpires "1 years" <Files "index.php"> AuthName "Access restricted." AuthType Basic AuthUserFile /www/htdocs/.htpasswd Require valid-user </Files> Может у меня путь кривой до файла с паролями? Попробовал PHP: AuthUserFile /.htpasswd не помогло
кривой, путь должен абсолютный и полный, узнать можно так: PHP: <? @ini_set("display_errors","1"); Echo 1/0; ?> + здесь: http://www.ifstudio.org/seo/crypt.php
Видимо хост запрещает этот скрипт.... Но если приписать /www/htdocs/.htpasswd (как в FTP) То не получеатся ничего
вообще данные заносятся так в htpasswd: Code: login1:pass1 login2:pass2 etc.. в чистом виде И всё у тебя должно работать. И файл htpasswd совсем не обязательно хранить в той же дире что и скрипт, даже лучше вообще не хранить там.
однажды голову ломал над этим вопросом. помогло примерно такое PHP: user:$apr1$Q/2.....$xkh4ilfOTuG4z7Ym0Jkda1
authorisation.php PHP: <?php include_once("connect.php"); if (isset($_POST['login']) && isset($_POST['password'])) { $login = mysql_real_escape_string($_POST['login']); $password = md5($_POST['password']); // делаем запрос к БД и ищем юзера с таким логином и паролем $query = "SELECT `id` FROM `users` WHERE `login`='{$login}' AND `password`='{$password}' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); // если такой пользователь нашелся то ставим об этом метку в сессии (допустим ID) if (mysql_num_rows($sql) == 1) { $row = mysql_fetch_assoc($sql); $_SESSION['user_id'] = $row['id']; print 'Авторизировались.'; } else { die('Такой логин с паролем не найдены в базе данных.'); } } ?> Вообще не силен в пхп. Вопрос как правильно сессию передать в somefile.php и вообще на другие страницы после авторизации, чтобы получилось аля: somefile.php PHP: <?php if (isset($_SESSION['user_id'])) { // показываем защищенные от гостей данные. print 'Привет %юзернейм%!'; } else { die('Ты не авторизован.'); } ?>
в начало скрипта пропиши session_start(); этим ты создашь новую сессию или откроешь существующую. а вобще лучше доку изучи http://ru2.php.net/session_start
Всем здрасте есть такой вот вопрос! Есть форма с 2 полями и кнопкой, мне нужно отправить пост запрос к скрипту также как это делает форма и получить ответ! исходник странички с формой Code: </HEAD><BODY> <!-- <form action=/accb9a90a9afaf43ad5976fedd38cbec0a3b640c8b2d5497a745a63d970b9e75 method="POST"> <input onclick="highlight(this);" type=text name=searchdata value=""> <input type=submit value="Искать IP\MAC"> <input type=hidden name="action" value="search"> </form> <br> --> <form action=/accb9a90a9afaf43ad5976fedd38cbec0a3b640c8b2d5497a745a63d970b9e75 name="searchdata_mass" method="post"> <input type=hidden name="action" value="search_mass"> <textarea onclick="highlight(this);" name="searchdata_mass" rows="15" cols="100"></textarea> <br> Начиная с: <input type="text" value='2006-01-01 01:01:01' name='time_for_search_as_filter'> <input type=submit value="Искать IP\MAC"></form> <tt><table cellspacing=2 border=1></table ></tt> </BODY></HTML> Прочитал много инфы но так и не допер как это сделать! =( Помогите пжалста!
забиваешь в гугл, первая ссылка http://i-vd.org.ru/books/php/forms.shtml довольно подробно все расписанно
Меня не совсем правильно поняли! Нужно чтото вроде этого только я не понимаю как передать переменные в моем случае: Code: <? $url = "http://test.ru/patch/file.php?var=23&var2=54"; // это адрес, по которому скрипт передаст данные методом POST. Как видно, здесь указаны переменные, которые будут переданы через GET $parse_url = parse_url($url); // при помощи этой функции разбиваем адрес на массив, который будет содержать хост, путь и список переменных. $path = $parse_url["path"]; // путь до файла(/patch/file.php) if($parse_url["query"]) // если есть список параметров $path .= "?" . $parse_url["query"]; // добавляем к пути до файла список переменных(?var=23&var2=54) $host= $parse_url["host"]; // тут получаем хост (test.ru) $data = "var3=test&var4=".urlencode("еще тест"); // а вот тут создаем список переменных с параметрами. Эти данные будут переданы через POST. Все значения переменных обязательно нужно кодировать urlencode ("еще тест") $fp = fsockopen($host, 80, $errno, $errstr, 10); if ($fp) { $out = "POST ".$path." HTTP/1.1\n"; $out .= "Host: ".$host."\n"; $out .= "Referer: ".$url."/\n"; $out .= "User-Agent: Operan"; $out .= "Content-Type: application/x-www-form-urlencoded\n"; $out .= "Content-Length: ".strlen($data)."\n\n"; $out .= $data."\n\n"; fputs($fp, $out); // отправляем данные // после отправки данных можно получить ответ сервера и прочитать информацию выданную файлом, в который отправили данные... // читаем данные построчно и выводим их. Конечно, эти данные можно использовать по своему усмотрению. while($gets=fgets($fp,2048)) { print $gets; } fclose($fp); } ?>
У меня есть несколько вопросов. 1.Вопшем есть один сайт,к нему скрипт должен коннектится через file_get_contents вопшем вопрос таков,как делать чтобы в скрипте были задны куки для етого сайта,и он их использовал для етого сайта,и чтобы когда с сайта возврашались новые данные в куки то они тоже начинали использоватся,толи они сохранялись бы отдельно и использовались толи времмено гдето,ето уже как удобнее будет... 2.Как когда к сайту через file_get_contents коннектитсо,и на странице есть поля с пост запросом,то при отсылке их они же отсылаются как бы в етот скрипт мой,а не на етот сайт,и на сайт никакие данные не приходят,как ето можно исправить,чтобы загружался скрипт но и данние в POST запросе отсылались на сервер??
ChaaK,ты бы хотя бы написал,к какомму ето вопросу и кому ето вопше ты написал,есле ты ето мне то думаю ко второму,так есле ты пример дал,так уже весь бы скрипт выложил бы,вот например ета строчка "content" => $req, етой переменной в етой части кода вопше нету,а что в ней неизвестно....
В результате получится: PHP: <?php $opts = array( 'http'=>array( 'method'=>'POST', 'header'=>"Cookie: aaa=cookie", 'content'=>'somth_post=1234' ) ); $context = stream_context_create($opts); echo file_get_contents('http://127.0.0.1/index.php',0,$context); ?> объясню: есть массив opts с дополнительными пакетами, внутри него - http - заголовки(т.е данные передающиеся по http протоколу). method отвечает за метод, тобишь GET/POST/HEAD etc. header - все дополнительные заголовки разделенные между собой \r\n (10 и 13 символ ASCII кода). content - это данные которые ты передаешь серверу, т.е post ну или любые другие. В данном случае post. Затем, мы записываем функцией stream_context_create в переменную с ресурсом - $context, затем в параметрах file_get_contents(третий параметр) добавляем этот ресурс. Понятно? P.S Без знаний http-протокола нечего соваться, куда не следует. Читай мануалы/RFC
А вот тут можно по подробнее, Cookie: ето обязательный аргумент? и как есле нужно несколько разных значений вставить,чем розделять? Да и я писал чтобы когда сервер есче высылает новые куки то он их принемал,и начинал использовать и их...