The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"perl lightsquid ip2name.squidauth % в нормальный вид"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"perl lightsquid ip2name.squidauth % в нормальный вид"  
Сообщение от netc (??) on 21-Мрт-09, 14:17 
есть lightsquid, есть пользователи аутен-иеся через AD с русскими логинами (знаю, сам готов убить того, кто это допустил)

у lightsquid есть файлик

ip2name.squidauth:

Ребят мучаюсь уже целый день - ну не знаю я перла, помогите плиз


#contributor: esl
#specialy for squid with turned on user authentication
#simple version

sub StartIp2Name() {
}

sub Ip2Name($$$) {
  # $Lhost,$user,$Ltimestamp
  my $Lhost=shift;
  my $user =shift;
  $user    =URLDecode($user); #decode user name
  return $user if ($user ne "-");
  return $Lhost;
}

sub StopIp2Name() {
}

#warning !!!
1;

В этом файлике нужно сделать преобразование из:
      
      $user = "%d4%c5%cd%d0" - идут именно %-ы

получить при этом

      $user = "темп" обязательно в кодировке win1251

сделать это нужно в место этой строчки - это я проверял в течении всего дня ;)
$user    =URLDecode($user); #decode user name


как говориться надежда только на знатаков perl


Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "perl lightsquid ip2name.squidauth % в нормальный вид"  
Сообщение от netc (??) on 21-Мрт-09, 15:33 
хотелось бы отметить, что lightsquid открываеться по умолчанию в браузере в кодировке windows-1251

как видно из исходного кода
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">

так вот, если браузеру приказать отображать страницу lightsquid в кодировке koi8-r, то становиться видно имя пользователя (темп), но ведь все остальное то портиться


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "perl lightsquid ip2name.squidauth % в нормальный вид"  
Сообщение от lightsquid email on 21-Мрт-09, 21:11 
>хотелось бы отметить, что lightsquid открываеться по умолчанию в браузере в кодировке
>windows-1251

Откуда такая оригинальная информация ?
доки читать не пробовали ?
$lang="ru-koi8"; не пробовали ?
:)

>
>как видно из исходного кода
><META http-equiv="Content-Type" content="text/html; charset=windows-1251">
>
>так вот, если браузеру приказать отображать страницу lightsquid в кодировке koi8-r, то
>становиться видно имя пользователя (темп), но ведь все остальное то портиться
>

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "perl lightsquid ip2name.squidauth % в нормальный вид"  
Сообщение от netc (??) on 23-Мрт-09, 09:01 
извиняюсь, просто уже запутался методом проб и ошибок ;)

>[оверквотинг удален]
>$lang="ru-koi8"; не пробовали ?
>:)
>
>>
>>как видно из исходного кода
>><META http-equiv="Content-Type" content="text/html; charset=windows-1251">
>>
>>так вот, если браузеру приказать отображать страницу lightsquid в кодировке koi8-r, то
>>становиться видно имя пользователя (темп), но ведь все остальное то портиться
>>

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "perl lightsquid ip2name.squidauth % в нормальный вид"  
Сообщение от netc (??) on 23-Мрт-09, 09:30 
>Откуда такая оригинальная информация ?
>доки читать не пробовали ?
>$lang="ru-koi8"; не пробовали ?

блин а опера случайно вылетила, поэтому сейчас напишу быстро и мало

в /usr/local/share/doc/lightsquid нечего про lang нет
на сайте в разделе Doc тоже

упоминание есть только в конфиг файле, но ru-koi8 - нет ;) :

#language
#see `lang` folder (avaible: bg,eng,fr,hu,it,pt_br,ru,sp)
$lang                ="ru";


как предложение добавить в конфиг ru-koi8, т.е. сделать так:
#see `lang` folder (avaible: bg,eng,fr,hu,it,pt_br,ru,ru-koi8,sp)


после :
$lang                ="ru-koi8";
Все заработало так, как хотелось

Спасибо.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "perl lightsquid ip2name.squidauth % в нормальный вид"  
Сообщение от angra (ok) on 22-Мрт-09, 04:49 
Строка "%d4%c5%cd%d0" в koi8-r, а не в cp1251
Предполагая, что URLDecode действует соответственно названию перепишите эту строчку так:
use Encode;
$user    =encode("cp1251",decode("koi8-r",URLDecode($user))); #decode user name
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру