HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 30.01.2010, 03:14
Vlad&slav
Участник форума
Регистрация: 01.01.2009
Сообщений: 138
С нами: 9135251

Репутация: 82
По умолчанию

мб тупой вопрос, но если есть допустим слово q1w2e3r4 и нужно перевести его в масссив так чтобы каждая буква стала элементом масссива попорядку?
 
Ответить с цитированием

  #2  
Старый 30.01.2010, 06:17
#Wolf#
Постоянный
Регистрация: 26.03.2008
Сообщений: 311
С нами: 9540826

Репутация: 479
По умолчанию

Цитата:
Сообщение от Vlad&slav  
мб тупой вопрос, но если есть допустим слово q1w2e3r4 и нужно перевести его в масссив так чтобы каждая буква стала элементом масссива попорядку?
строка это уже и есть как бы массив:
echo $str[0];

или же можно так.
PHP код:
echo '<pre>';
$str='q1w2e3r4';
$str=str_split($str);
print_r($str);
echo 
'</pre>'

Последний раз редактировалось #Wolf#; 30.01.2010 в 06:48..
 
Ответить с цитированием

  #3  
Старый 30.01.2010, 08:07
Jazz
Познающий
Регистрация: 27.09.2008
Сообщений: 67
С нами: 9273736

Репутация: 8
По умолчанию

нужна функция крторая вытащит из переменной строку по шаблону(например чтоб ватаскивал строку которая начинаяться с 123).
 
Ответить с цитированием

  #4  
Старый 30.01.2010, 08:29
GlooK
Участник форума
Регистрация: 20.04.2007
Сообщений: 174
С нами: 10030823

Репутация: 149
По умолчанию

Цитата:
Сообщение от Jazz  
нужна функция крторая вытащит из переменной строку по шаблону(например чтоб ватаскивал строку которая начинаяться с 123).
регулярные выражения?
PHP код:
if (preg_match('/^123(.*)/i'$mystring$match)) {echo 'Строка начинающаяся с 123: '.$match;} 
как то так.
 
Ответить с цитированием

  #5  
Старый 30.01.2010, 09:51
Nosfer
Новичок
Регистрация: 10.01.2007
Сообщений: 16
С нами: 10174902

Репутация: 2
По умолчанию

Нужна помощь с рандомным перебором проксей, вот исхордный код

PHP код:


$match
='#https?://([^/\s]+)\S+#i';
preg_match_all($match$_POST['urls'], $matches);
$matches array_values(array_combine($matches[1],$matches[0]));

$mh curl_multi_init(); //Create multithread
$handles = array();
$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"// set user agent 


//File with proxies to array
$proxyarr file('http://localhost/checkproxy/proxies.txt'FILE_IGNORE_NEW_LINES);

//echo $proxyarr[array_rand($proxyarr, 1)]."<br>";
 

for ($i=0$i<sizeof($matches);$i++) {
//Create URL
$request 'someurl';
// create a new single curl handle
$ch curl_init();
curl_setopt($chCURLOPT_URL$request);
curl_setopt($chCURLOPT_HEADER0);
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
curl_setopt($chCURLOPT_TIMEOUT600);
curl_setopt($chCURLOPT_USERAGENT$useragent); 
// add this handle to the multi handle
curl_multi_add_handle($mh,$ch);
// put the handles in an array to loop this later on
$handles[] = $ch;
}
// execute the multi handle
$running=null;
do {
curl_multi_exec($mh,$running);
// added a usleep for 0.25 seconds to reduce load
usleep (25000);
} while (
$running 0);
// get the content of the urls (if there is any)
for($i=0;$i<count($handles);$i++)  {
$output unserialize(curl_multi_getcontent($handles[$i]));

//ban check
if (!isset($output[ResultSet][totalResultsAvailable])) {
echo 
"<b>BAN</b><br>";
echo 
"$request";
exit(
0);
}

$result[$matches[$i]]=$output[ResultSet][totalResultsAvailable];
curl_multi_remove_handle($mh,$handles[$i]);

Скрипт ходит по http и дергает URL, который отдает ему массив.
Но сам ресурс имеет свойство периодически банить по IP, для этого и нужны прокси.
Я бы с удовольствием воткнул в цикл
Код:
for($i=0;$i<count($handles);$i++)
нечто вроде
Код:
curl_setopt($ch, CURLOPT_PROXY, $proxyarr[array_rand($proxyarr, 1)]);
и у меня даеже есть проверка на бан
Код:
if (!isset($output[ResultSet][totalResultsAvailable]))
но как сделать так, чтобы в случае бана он сделал для этого же урл новую итерацию забора контента, но уже с новой рандомной проксей из того же массива $proxyarr? Стоит также учесть тот момент, что на следующей прокси результата тоже может не быть и прокси надо перебирать до победного.

Я сам вижу лишь вариант в добавлением неуспешных элементов(урлов) в спец массив и повторным прогоном их с рандомными проксям, но решение кривовато.

Последний раз редактировалось Nosfer; 30.01.2010 в 09:55..
 
Ответить с цитированием

  #6  
Старый 31.01.2010, 10:10
Nosfer
Новичок
Регистрация: 10.01.2007
Сообщений: 16
С нами: 10174902

Репутация: 2
По умолчанию

Цитата:
Сообщение от Nosfer  
Нужна помощь с рандомным перебором проксей, вот исхордный код

PHP код:


$match
='#https?://([^/\s]+)\S+#i';
preg_match_all($match$_POST['urls'], $matches);
$matches array_values(array_combine($matches[1],$matches[0]));

$mh curl_multi_init(); //Create multithread
$handles = array();
$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"// set user agent 


//File with proxies to array
$proxyarr file('http://localhost/checkproxy/proxies.txt'FILE_IGNORE_NEW_LINES);

//echo $proxyarr[array_rand($proxyarr, 1)]."<br>";
 

for ($i=0$i<sizeof($matches);$i++) {
//Create URL
$request 'someurl';
// create a new single curl handle
$ch curl_init();
curl_setopt($chCURLOPT_URL$request);
curl_setopt($chCURLOPT_HEADER0);
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
curl_setopt($chCURLOPT_TIMEOUT600);
curl_setopt($chCURLOPT_USERAGENT$useragent); 
// add this handle to the multi handle
curl_multi_add_handle($mh,$ch);
// put the handles in an array to loop this later on
$handles[] = $ch;
}
// execute the multi handle
$running=null;
do {
curl_multi_exec($mh,$running);
// added a usleep for 0.25 seconds to reduce load
usleep (25000);
} while (
$running 0);
// get the content of the urls (if there is any)
for($i=0;$i<count($handles);$i++)  {
$output unserialize(curl_multi_getcontent($handles[$i]));

//ban check
if (!isset($output[ResultSet][totalResultsAvailable])) {
echo 
"<b>BAN</b><br>";
echo 
"$request";
exit(
0);
}

$result[$matches[$i]]=$output[ResultSet][totalResultsAvailable];
curl_multi_remove_handle($mh,$handles[$i]);

Скрипт ходит по http и дергает URL, который отдает ему массив.
Но сам ресурс имеет свойство периодически банить по IP, для этого и нужны прокси.
Я бы с удовольствием воткнул в цикл
Код:
for($i=0;$i<count($handles);$i++)
нечто вроде
Код:
curl_setopt($ch, CURLOPT_PROXY, $proxyarr[array_rand($proxyarr, 1)]);
и у меня даеже есть проверка на бан
Код:
if (!isset($output[ResultSet][totalResultsAvailable]))
но как сделать так, чтобы в случае бана он сделал для этого же урл новую итерацию забора контента, но уже с новой рандомной проксей из того же массива $proxyarr? Стоит также учесть тот момент, что на следующей прокси результата тоже может не быть и прокси надо перебирать до победного.

Я сам вижу лишь вариант в добавлением неуспешных элементов(урлов) в спец массив и повторным прогоном их с рандомными проксям, но решение кривовато.
Ребят, скажите плс в каком направлении направить поток мыслей
 
Ответить с цитированием

  #7  
Старый 31.01.2010, 10:15
GlooK
Участник форума
Регистрация: 20.04.2007
Сообщений: 174
С нами: 10030823

Репутация: 149
По умолчанию

Цитата:
Сообщение от Nosfer  
Ребят, скажите плс в каком направлении направить поток мыслей
Думаю направить в сторону:
PHP код:
while(true) {
//...
//...
if ($stop) {break;}

 
Ответить с цитированием

  #8  
Старый 30.01.2010, 16:42
qW1zer
Участник форума
Регистрация: 24.08.2009
Сообщений: 145
С нами: 8797036

Репутация: 17
По умолчанию

Banderos_Russia
Вот пример с кнопкой,если надо примерно так же и с ссылкой будет:
Код:
<input type="checkbox" name="test" onclick="document.form.submit.disabled=false;" value="0">
<input type="submit" name="submit" disabled value="Example" />
-=-
Мне тоже нужна помощь,в общем делаю авторизацию/регистрацию
С регистрацией,все на ура,но вот с авторизацией проблема в частности с тем,что не получается проверить валидность пароля
Вот такой у меня код:
PHP код:
<?php
include("uconfig.php");
  if(!isset(
$_POST['usubmit']))
   {
    
$ustatus='<font color="red">Форма входа пользователей</font>';
   }
  else
  {
  
$login=$_POST['ulogin'];
   
$password=md5($_POST['upassword']);
    
$result mysql_query("SELECT * FROM user WHERE login = $login");
     
$users mysql_num_rows($result);
      while(
$row mysql_fetch_array($result)) {
      
$mpassword=$row['password'];
       echo 
$mpassword;
}
}
?>
В uconfig.php подключение к mysql и еще мелкие опции
 
Ответить с цитированием

  #9  
Старый 30.01.2010, 20:22
qW1zer
Участник форума
Регистрация: 24.08.2009
Сообщений: 145
С нами: 8797036

Репутация: 17
По умолчанию

Может кто-нибудь сможет подкинуть свою часть авторизации,именно выдирание из мускула и сравнение
 
Ответить с цитированием

  #10  
Старый 30.01.2010, 23:23
chekist
Reservists Of Antichat - Level 6
Регистрация: 14.11.2007
Сообщений: 177
С нами: 9731846

Репутация: 622
По умолчанию

PHP код:

<?php
include("uconfig.php");
  if(!isset(
$_POST['usubmit']))
   {
    
$ustatus='<font color="red">Форма входа пользователей</font>';
   }
  else
  {
  
$login=addslashes($_POST['ulogin']);
   
$password=md5($_POST['upassword']);
    
$result mysql_query("SELECT * FROM user WHERE login = '$login'");
     
//$users = mysql_num_rows($result); нафига ?
      
while($row mysql_fetch_array($result)) {
        if(
$password === $row['password']){
            echo 
'true';
        }
      }
}

PHP код:

<?php
include("uconfig.php");
if(!isset(
$_POST['usubmit'])){
    
$ustatus='<font color="red">Форма входа пользователей</font>';
}else{
    
$login=addslashes($_POST['ulogin']);
    
$password=md5($_POST['upassword']);
    
$result mysql_query("SELECT * FROM user WHERE login = '$login' and password = '$password'");
    if(
$row mysql_fetch_array($result)){
        echo 
'true';
    }else{
        echo 
'false';
    }
}
?>

Последний раз редактировалось chekist; 30.01.2010 в 23:32..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.