ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #641  
Старый 19.10.2007, 16:34
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

spamoney, проблема в file_get_contents, она посылает кривой запрос... Скорее всего не посылает заголовок Host. Лучше тяни через сокеты...
 

  #642  
Старый 19.10.2007, 16:35
NOmeR1
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме:
6023777

Репутация: 2642


Отправить сообщение для NOmeR1 с помощью ICQ
По умолчанию

spamoney
Ошибка в том, что этот скрипт пытается получить страницу, а получает ошибку 403 (доступ запрещён), это чаще всего бывает из-за robots.txt (http://anekdotov.net/robots.txt) он блочит если вы заходите без браузера как видно. Поэтому здесь вряд ли получится сделать без сокетов.
Цитата:
Сообщение от MegaDeth  
spamoney так низя. надо самому запрос писать... и пихать его в сокет.
Чушь. Так можно, но здесь нужны сокеты.
 

  #643  
Старый 19.10.2007, 16:40
MegaDeth
Участник форума
Регистрация: 08.11.2006
Сообщений: 208
Провел на форуме:
1038169

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

Цитата:
Сообщение от NOmeR1  
spamoney
Ошибка в том, что этот скрипт пытается получить страницу, а получает ошибку 403 (доступ запрещён), это чаще всего бывает из-за robots.txt (http://anekdotov.net/robots.txt) он блочит если вы заходите без браузера как видно. Поэтому здесь вряд ли получится сделать без сокетов.

Чушь. Так можно, но здесь нужны сокеты.
я имел ввиду в конкретном этом случае, что еще сказать челу который про ошибку протокола хттп "403 доступ запрещен" не знает? (ну или невидет...)
 

  #644  
Старый 20.10.2007, 02:59
XIII
Участник форума
Регистрация: 06.02.2006
Сообщений: 137
Провел на форуме:
656903

Репутация: 15
Отправить сообщение для XIII с помощью ICQ
По умолчанию

скрипт добавления в mysql базу

<?php
$login = $_POST['login'];
$email = $_POST['email'];
$pass = $_POST['pass'];


$link = mysql_connect("localhost", "root", "*****") or
die("Could not connect: " . mysql_error());


mysql_select_db("nova");

$query = DBQuery("SELECT * FROM admin WHERE email = '$email'");
if (mysql_num_rows($query))
die("Такой пользователь уже существует");


DBQuery("insert into admin (username, passwd, email) values('$login','$pass','$email')");


mysql_close($link);
?>
php ругается на выделеную строку а вот почему незнаю =(
 

  #645  
Старый 20.10.2007, 03:12
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме:
1469995

Репутация: 589
Отправить сообщение для Helios с помощью ICQ
По умолчанию

в php нет функции DBQuery(), есть mysql_query(), а DBQuery() ты скорее всего взял из какого-нибудь движка, где она и была определена.
 

  #646  
Старый 20.10.2007, 03:19
XIII
Участник форума
Регистрация: 06.02.2006
Сообщений: 137
Провел на форуме:
656903

Репутация: 15
Отправить сообщение для XIII с помощью ICQ
По умолчанию

спасибо
 

  #647  
Старый 20.10.2007, 03:22
Scipio
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме:
5939734

Репутация: 1917


Отправить сообщение для Scipio с помощью ICQ
По умолчанию

Цитата:
Сообщение от Helios  
в php нет функции DBQuery(), есть mysql_query(), а DBQuery() ты скорее всего взял из какого-нибудь движка, где она и была определена.
вобщем если DBQuery() у тебя определена, то пользуй так :
Код:
$query = DBQuery("SELECT * FROM admin WHERE email = '".$email."'");
аналогично и с mysql_query()

ЗЫ это же у тебя все равно не конечный вариант скрипта, да? (надеюсь)
__________________
Карфаген должен быть разрушен...

Последний раз редактировалось Scipio; 20.10.2007 в 03:25..
 

  #648  
Старый 20.10.2007, 09:58
spamoney
Участник форума
Регистрация: 26.12.2006
Сообщений: 107
Провел на форуме:
228267

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

Цитата:
Сообщение от NOmeR1  
spamoney
Поэтому здесь вряд ли получится сделать без сокетов.
Всем спасибо, что сказали про сокеты, а то я в php как то не очень по этому сам бы не догнал, сделал через сокеты, вроде получилось, правда там наверное много лишннего кода, т.к фук-цию function httpSocketConnection нашел в полезных скриптах:

PHP код:
<?php

function httpSocketConnection($host$method$path$data
   { 
       
$method strtoupper($method);        
       
       if (
$method == "GET"
       { 
           
$path.= '?'.$data
       }    
       
       
$filePointer = @fsockopen($host80$errorNumber$errorString); 
       
       if (!
$filePointer
       { 
           exit(
'Failed opening http socket connection: '.$errorString.' ('.$errorNumber.')<br/>\n'); 
           return 
false
       } 

       
$requestHeader $method." ".$path."  HTTP/1.1\r\n"
       
$requestHeader.= "Host: ".$host."\r\n"
       
$requestHeader.= "User-Agent:      Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0\r\n"
       
$requestHeader.= "Content-Type: application/x-www-form-urlencoded\r\n"

       if (
$method == "POST"
       { 
           
$requestHeader.= "Content-Length: ".strlen($data)."\r\n"
       } 
       
       
$requestHeader.= "Connection: close\r\n\r\n"
       
       if (
$method == "POST"
       { 
           
$requestHeader.= $data
       }            

       
fwrite($filePointer$requestHeader); 
       
       
$responseHeader ''
       
$responseContent ''

       do 
       { 
           
$responseHeader.= fread($filePointer1); 
       } 
       while (!
preg_match('/\\r\\n\\r\\n$/'$responseHeader)); 
       
       
       if (!
strstr($responseHeader"Transfer-Encoding: chunked")) 
       { 
           while (!
feof($filePointer)) 
           { 
               
$responseContent.= fgets($filePointer128); 
           } 
       } 
       else 
       { 

           while (
$chunk_length hexdec(fgets($filePointer))) 
           { 
               
$responseContentChunk ''
           
               
//logEventToTextFile('debug', $chunk_length); 
               
$read_length 0
               
               while (
$read_length $chunk_length
               { 
                   
$responseContentChunk .= fread($filePointer$chunk_length $read_length); 
                   
$read_length strlen($responseContentChunk); 
               } 

               
$responseContent.= $responseContentChunk
               
               
fgets($filePointer); 
               
           } 
           
       } 

       
//logEventToTextFile('debug', $responseContent); 
       
       
       
return chop($responseContent); 
   } 

$bb=0;
 for(
$f=0;$f<3;$f++){  


$data=""
$host "anekdotov.net"
$path "http://anekdotov.net/vovochka/index-page-$f.html"
$method "GET"


$a=httpSocketConnection($host$method$path$data);

 
$file preg_match_all("#<input type=hidden name=story value='(.*?)<INPUT type=image src=#si",$a,$frazes);  


 for(
$i=0;$i<$file;$i++){  
     echo 
"<hr>".$frazes[1][$i]."\r\n<hr>";  
  }  
$bb++;
}
$vsego=$bb*$file;
echo 
"Анекдотов на странице: <font color=red>$file</font><br>";
echo 
"Всего Анекдотов: <font color=green>$vsego</font>";

?>
 

  #649  
Старый 20.10.2007, 15:49
XIII
Участник форума
Регистрация: 06.02.2006
Сообщений: 137
Провел на форуме:
656903

Репутация: 15
Отправить сообщение для XIII с помощью ICQ
По умолчанию

Цитата:
$result = mysql_query ("SELECT * FROM admin WHERE email = '".$email."'");
$num_rows = mysql_num_rows($result);
echo "Совпадений $num_rows \n<br>";
if ($num_rows >= 1){
print "Такой логин или email уже зарегистрирован в базе!<br>";
}

$query ="insert into admin (username, passwd, email) values('$login','$pass','$email')";
$result = mysql_query($query);
printf ("Пользователь успешно зарегистрирован", mysql_insert_id());
mysql_close($link);
между проверкой на совпадение в базе и добавлением в базу надо чтото ещё написать? просто если даже находит совпадение оно всё равно дальше лезет добавлять в базу и пишит успешно зарегистрирован =) чтото не пойму в чём ошибка
 

  #650  
Старый 20.10.2007, 16:16
XIII
Участник форума
Регистрация: 06.02.2006
Сообщений: 137
Провел на форуме:
656903

Репутация: 15
Отправить сообщение для XIII с помощью ICQ
По умолчанию

уже разобрался всем спасибо
сделал чтота типа вот работает =)
Цитата:
$result = mysql_query ("SELECT * FROM admin WHERE email = '".$email."'");
$num_rows = mysql_num_rows($result);
echo "Совпадений $num_rows \n<br>";
if ($num_rows >= 1){
print "Такой логин или email уже зарегистрирован в базе!<br>Регистрация невозможна";
}
elseif ($num_rows = 1){
$query ="insert into admin (username, passwd, email) values('$login','$pass','$email')";
$result = mysql_query($query);
printf ("Пользователь успешно зарегистрирован", mysql_insert_id());
}
mysql_close($link);
 
 





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


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




ANTICHAT.XYZ