Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

  • Закрытая тема Тема закрыта

Вопрос по MyAdmin (наверное)

#21 kocmocivan

kocmocivan
    Topic Starter
  • Пользователь
  • 99 сообщений
  • Репутация: 0
0

Отправлено 14 Сентябрь 2009 - 00:03

По поводу замены кода в файлы SysFunc.pm на
print "Set-Cookie:SESSION_ID=$session_id;\n";
print "Set-Cookie:Path=/;\n";
print "Content-type:text/html\r\n\r\n";

Заменил , залил на сервак... НИЧЕГО не поменялось, все как было так и осталось :rolleyes:
  • 0

#22 kocmocivan

kocmocivan
    Topic Starter
  • Пользователь
  • 99 сообщений
  • Репутация: 0

Отправлено 14 Сентябрь 2009 - 00:23

Я вот тут курил и подумал может быть такая ситуация и с админкой почему она не работает...

Если я что либо меняю или просто что либо редактирую в файле catalog.pm То у меня не работает весь сайт и ошибка идет ОБСОЛЮТНО такая же как при входе в админку...

Т.е. в файлах отвечающих за админку есть видимо такой же файл, изменение или редактирование которого приводит к ошибке 500...

И видимо когда Ген дир мой решил поэксперементировать и что-то там отредоктировал появилась эта ошибка...

Самое интерестоное, что у меня есть исходник, но не промежуточный файл, с которым РАНЬШЕ работала админка...

КОроче либо у меня уже из-за позднего времени крыша едит... либо действительно это так... а как решить эту проблему я не знаю...
  • 0

#23 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 14 Сентябрь 2009 - 17:20

kocmocivan, Изменение размера возможно связанно с кодировкой. Если файлы которые вы сохраняете имеют кодировку UTF-8 то возможно при сохранении у вас стоит галка в редакторе с меткой "BOM".
Вообще ненавижу стандартный блокнот. Тут нужен более професиональный редактор, у меня стоит Notepad++, в нём явно можно указать с сигнатурой или без.

Да я так понимаю ошибка у вас именно в том что сохраняя в блокноте с BOM у вас в начало файла добавляются невидимые символы. Сервер же видя расширение файла, пытается отдать его интерпретатору Perl, а тот ругается, мол файл начинается с запрещённых символов.

Замените обратно, скорее всего ошибка не в этом, реально проверьте файлы на содержание запрещающих символов. Можете скачать простой Notepad. Там явно при сохранении видно стоит BOM или нет.

И видимо когда Ген дир мой решил поэксперементировать и что-то там отредоктировал появилась эта ошибка...

Очень даже вероятно... Хотя возможно что и гендир постарался, отрицать этого не буду...

P.s.: Почему я вам советую проверить правильность задания кодировки, так это потому что у меня тоже была подобная проблема, долго искал ответ. Из ваших показаний следует, что размер файла увеличивается ~ на 400 байт, что и может означать включение сигнатуры, нарушающей обработку интерпретатора Perl. Ведь с самого начала изучения PERL можно черным по белому написать с чего должен начинаться файл и что перед этой строкой больше ничего не должно быть!
  • 0

#24 kocmocivan

kocmocivan
    Topic Starter
  • Пользователь
  • 99 сообщений
  • Репутация: 0

Отправлено 14 Сентябрь 2009 - 20:33

Спасибо большое, я так тоже и понял...
Все файлы я открываю с WordPad и любые сохранения тоже в нем... простым символом - сохранение...

Но почему у меня другие файлы нормально реагирует и такого не происходит? КОдировка меняется только на некоторых или как это происходит?

И еще маленький вопросик.. то что Вы написали по поводу куков смены кода, т очто я изменил и ничегоооо не произошло ни плозхово ни хорошего, это нормально? где посоветуете искать еще чтобы куки не отображались?
  • 0

#25 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 14 Сентябрь 2009 - 21:14

Все файлы я открываю с WordPad и любые сохранения тоже в нем... простым символом - сохранение...

Никогда так не делайте, wordpad это ещё та бодяга для написания скриптов особенно!

Но почему у меня другие файлы нормально реагирует и такого не происходит? КОдировка меняется только на некоторых или как это происходит?

Всё зависит от настроек редактора, некоторые сами преобразуют, а некоторые если кодировка нужная, я ХЗ

И еще маленький вопросик.. то что Вы написали по поводу куков смены кода, т очто я изменил и ничегоооо не произошло ни плозхово ни хорошего, это нормально? где посоветуете искать еще чтобы куки не отображались?

Не произошло, потому что у вас обработка идёт не правильно. А вернуть я вам посоветовал потому что раньше же с этим кодом админка работала. Ручше использовать проверенное нежели переработанное.
Искать именно в кодировке как я уже сказал, можете выложить сюда файл или в личку admin.pl и index.pl, что связанны с админкой
Я гляну кодировку и сигнатуру
  • 0

#26 kocmocivan

kocmocivan
    Topic Starter
  • Пользователь
  • 99 сообщений
  • Репутация: 0

Отправлено 15 Сентябрь 2009 - 13:32

ZiTosS отправил личным сообщением
  • 0

#27 kocmocivan

kocmocivan
    Topic Starter
  • Пользователь
  • 99 сообщений
  • Репутация: 0

Отправлено 15 Сентябрь 2009 - 14:48

Кстате скачал и установил NotePad plus plus и открыл файл catalog.pm измененный и обычный хоть разница и есть в размере файла но различий никаких.
А когда сохранял в NotePade то все было нормально, т.е. размер оставался прежним

Интерестно как можно найти файлы в которых UTF-8 без BOM и в каких BOM...
Я почитал много чего пока сидел на работе и уверен на 100%, что именно из-за этого админка и не пашет...
Осталось только еще понял как убрать КУКИ вывод в не нужных местах и все буит супер :) Гы Гы

Прочел на 1 сайте -
"Для поиска BOM-содержащих файлов запустил поиск в тоталкоммандере с текстом 'EFBBBF' и галочкой HEX-код" сделал тоже самое - файлов не обнаружено... не понимаю :)
  • 0

#28 kocmocivan

kocmocivan
    Topic Starter
  • Пользователь
  • 99 сообщений
  • Репутация: 0

Отправлено 16 Сентябрь 2009 - 10:35

:)
  • 0

#29 kocmocivan

kocmocivan
    Topic Starter
  • Пользователь
  • 99 сообщений
  • Репутация: 0

Отправлено 16 Сентябрь 2009 - 10:47

УУУУУУУРРРРРРРРАААААААААААА..... :) куки больше не отображаются....
Просто удалил строку
print "Set-Cookie: decotec=$path#; path=/\n\n";

И все стало нормально ;) Осталось разобраться с юникс кодами - BOM где и как их искать ;)

:)

Кстате открыл логи - там есть такая фигня -
##
failed to open log file
fopen: Permission denied
[Wed Sep 16 16:01:47 2009] [error] [client 213.147.49.50] Premature end of script headers: /www/docs/wwwdecotec/cgi-bin/admin/login/index.pl
##

И таких надписей дофига ... (В инете просматриваю решения, ничего толкового найти не смог)

ПРоверил все что мог найти в инете по решению данной проблемы:
1)код вроде правильный (заголовки ответов правильные)
2)права стоят 755 на файле и на папках

Серверу было сказано, что CGI программа должна быть с именем *.cgi, а сами дают что-то типа *.pl или *.exe. Лекарство сомнительное, но всеже проверьте настройки сервера. Также все сопутствующие .htaccess файлы.
Вот в этом пункте еще не разобрался...

Есть предположение что файл сохранялся с BOM но как это проверить честно говоря не знаю...

Собственно ошибка выходет именно най файле - login.pl
Его код -
#!/usr/bin/perl
use lib "../../lib";
use SysFunc;
use Templates;
use DBI;
use data;

my $globals=&SysFunc::get_globals();
%data=&data::get();
if(&SysFunc::login($data{login},$data{passwd}))
{
print qq~<script language=javascript>location.href="../cgi-bin/admin/index.pl";</script>~;
}
else
{
print "Content-type: text/html;charset=windows-1251\n\n";
$data=Templates::add_translate($data,"error","<font color=red>оЕРТБЧЙМШОЩК МПЗЙО ЙМЙ РБТПМШ</font>");
Templates::show_page("../../../admin.html",$data);
}
if($data{action} eq "logout")
{
&SysFunc::logout();
print qq~<script language=javascript>location.href="/decotec/";</script>~;
# return 1;
}
&SysFunc::add_globals;
exit(0);

print "Content-type: text/html;charset=windows-1251\n\n";
Заменял на print "Content-type: text/html;charset=windows-1251\r\n\r\n"; - тоже не помогает

РЕШИЛ поэсперементировать...
Сделал файл login.pl с элементарным кодом
#!/usr/bin/perl

print "Content-type: text/html\n\n";
print "Hello\n";

Опять ошибка 500
  • 0

#30 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 17 Сентябрь 2009 - 11:24

kocmocivan,
Сколько раз ещё можно повторять, если вы не будете оформлять текст, я не буду вам помогать, мне уже надоело править за вас сообщения.

УУУУУУУРРРРРРРРАААААААААААА..... smile.gif куки больше не отображаются....
Просто удалил строку
print "Set-Cookie: decotec=$path#; path=/\n\n";

Теперь кричите, УУУУУУУУУУУЖЖЖЖЖЖЖЖЖЖЖООООООССССССССС, потому что вы удалили заголовки, которые должны передаваться странице. Удалив их вы не решили проблемы, вы добавили себе ещё.
Вот почитайте интересная статья, как я вам и говорил, один символ не правелен, и всё, уже ошибка.

http://dklab.ru/chicken/nablas/3.html

[Wed Sep 16 16:01:47 2009] [error] [client 213.147.49.50] Premature end of script headers: /www/docs/wwwdecotec/cgi-bin/admin/login/index.pl

Означает, что Произошло преждевеременное закрытие передачи заголовков, что и привело к ошибке. Где это преждевременное закрытие нужно просматривать весь код на то что перед заголовками выводится что-то в тело документа.
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru