garry, попробуйте отключить в админке, в настройках безопасности, контроль за передачей GET и POST.
Что-то не совсем понятно, почему не хочет работать на хосте.
У меня что на Денвере, что на хосте - все нормально.
Фиксим баг с отображением капчи в Опера
- Группа
- Супермодераторы
- Пункты
- 1595
- Регистрация
- 18.09.2008
- Пол
- Мужчина
- Из
- Россия
- Предупреждения
- Нет
3.92
GRAFLEKX, Всё ок, я просто совсем забыл посмотреть в htaccess. Там у меня масса всякого нужного и не очень.
Спасибо ещё раз, всё ок.
Вы бы по рекламировали свои модули, там же полезные все.
Всем смотреть в подпись GRAFLEKX
- Группа
- Пользователи
- Пункты
- 3849
- Регистрация
- 21.07.2006
- Пол
- Мужчина
- Из
- Санкт-Петербург
- Предупреждения
- Нет
3.88
garry, ну вот и отлично, удачи 😉.
- Группа
- Супермодераторы
- Пункты
- 1595
- Регистрация
- 18.09.2008
- Пол
- Мужчина
- Из
- Россия
- Предупреждения
- Нет
3.92
проблема отображения капчи не в коде самой капчи, а в файле security.php! для устранения глюка достаточно перенести кусок кода с капчей в начало файла function.php
Вырезаем:
# Format image key for captcha
switch(isset($_GET['captcha'])) {
case "1":
unset($_SESSION['captcha']);
$random = gen_pass(10);
$_SESSION['captcha'] = $random;
$code = substr(hexdec(md5("".date("F j")."".$random."".$conf['sitekey']."")), 2, 6);
Header("Content-type: image/jpeg");
$image = imagecreatefromjpeg(img_find("misc/code_bg"));
$color = imagecolorallocate($image, 100, 100, 100);
imagettftext($image, 14, rand(-3, 3), rand(5, 15), 18, $color, "config/font/".$conf['font'].".ttf", $code);
imagejpeg($image, "", $conf['quality']);
imagedestroy($image);
exit;
break;
}и переносим в начало файла перед строкой "# Security file include"
# Format image key for captcha
switch(isset($_GET['captcha'])) {
case "1":
unset($_SESSION['captcha']);
$random = gen_pass(10);
$_SESSION['captcha'] = $random;
$code = substr(hexdec(md5("".date("F j")."".$random."".$conf['sitekey']."")), 2, 6);
Header("Content-type: image/jpeg");
$image = imagecreatefromjpeg(img_find("misc/code_bg"));
$color = imagecolorallocate($image, 100, 100, 100);
imagettftext($image, 14, rand(-3, 3), rand(5, 15), 18, $color, "config/font/".$conf['font'].".ttf", $code);
imagejpeg($image, "", $conf['quality']);
imagedestroy($image);
exit;
break;
}
# Security file include
include("function/security.php");проще некуда, все сразу пашет в любом браузере! :))
ЗЫ
ну а лучше вообще поменять капчу 😛
http://pdator.ru/account-newuser.html
- Группа
- Клиент
- Регистрация
- 07.06.2005
- Пол
- Мужчина
- Из
- Моск. обл., п. Белоомут
- Предупреждения
- Нет
3.69
Любая капча зло, ИМХО. Как показало время, от ботов есть и другие способы защиты. С ноября постепенно снимаю со всех своих проектов капчи. Пока результат лучше, чем мог подумать.
- Группа
- Активисты
- Пункты
- 10766
- Регистрация
- 28.10.2005
- Пол
- Мужчина
- Из
- Москва
- Предупреждения
- Нет
3.97
Любая капча зло, ИМХО. Как показало время, от ботов есть и другие способы защиты. С ноября постепенно снимаю со всех своих проектов капчи. Пока результат лучше, чем мог подумать.
а как защищаться от спама, внедрил всюду капчу именно из-за того, что стало на сайте регестрироваться по 10 человек в день и постить в коментах спам по 30 сообщений в день...
Любая капча зло, ИМХО. Как показало время, от ботов есть и другие способы защиты. С ноября постепенно снимаю со всех своих проектов капчи. Пока результат лучше, чем мог подумать.
а как защищаться от спама, внедрил всюду капчу именно из-за того, что стало на сайте регестрироваться по 10 человек в день и постить в коментах спам по 30 сообщений в день...
Вот куда нужно копать http://www.slaed.net/forum-view-6577.html . Способо действиетльно надежней, чем капча. От роботов защищает на ура, а от людей ничего не защитит. Я данный способ применил не толкько к регистрации, а вооще везде, где есть поля для ввода данных! Помогает на ура. Серъезно, уже пару месяцев вообще нет спама. ровно НОЛЬ. Я даже камменты разрешил всем подряд писать, и спама нет, хотя раньше постоянно вычещал кучу мусора и капчас вообще не спасала
- Группа
- Активисты
- Пункты
- 10766
- Регистрация
- 28.10.2005
- Пол
- Мужчина
- Из
- Москва
- Предупреждения
- Нет
3.97
otherside, до способа с меняющимся названием поля я своим умом дошел уже давно! только у меня чуток посложнее:
function captcha_random($id=''){
global $conf;
$name = gen_pass(4);
$_SESSION['captcha_name'] = $name;
if(extension_loaded('gd') && ($id == 2 || !is_user())){
$content = '<div class="left">'._SECURITYCODE.':</div><div id="capcode"><div class="center"><img src="/?captcha" alt="'._SECURITYCODE.'" onmouseover="Tip(\''._SECURITYCODE.'\');" /></div></div><div class="left">'._TYPESECCODE.':</div><div class="center"><input type="text" name="'.$name.'" size="10" maxlength="6" style="width: 75px;" class="'.$conf['style'].'" /> <img src="'.img_find('refresh').'" style="cursor: pointer;" alt="'._UPDATE.'" onmouseover="Tip(\''._UPDATE_CAPTCHA.'\');" onclick="ajax(\'ajax.php?go=1:op=captcha:id='.$name.'\', \'capcode\');" /></div>';
return $content;
}
}
function captcha_check($id=''){
global $conf;
if(($id == 2) || ($id == 1 && !is_user()) || ($_POST['posttype'] == 'save' && !is_user())){
$name = $_SESSION['captcha_name'];
if($_POST[$name] == $_SESSION['captcha_string']) return 0;
else return 1;
unset($_SESSION['captcha_string'], $_SESSION['captcha_name']);
}else{
return 0;
}
}- Группа
- Клиент
- Регистрация
- 07.06.2005
- Пол
- Мужчина
- Из
- Моск. обл., п. Белоомут
- Предупреждения
- Нет
3.69
Всё сделал как тут написанно, и всёравно не работает... 😏
black4k, чет у Вас ни чего не получается 🙂
Откройте файл function/security.php, найдите там код:
# GZip
if (strstr($_SERVER['HTTP_USER_AGENT'], 'compatible') || strstr($_SERVER['HTTP_USER_AGENT'], 'Gecko')) {
if (extension_loaded('zlib')) ob_start('ob_gzhandler');
} else {
if (strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip')) {
if (extension_loaded('zlib')) {
$do_gzip_compress = true;
ob_start();
ob_implicit_flush(0);
Header('Content-Encoding: gzip');
}
}
}Замените его на этот код:
# GZip
if (!isset($_GET['captcha'])) {
if (strstr($_SERVER['HTTP_USER_AGENT'], 'compatible') || strstr($_SERVER['HTTP_USER_AGENT'], 'Gecko')) {
if (extension_loaded('zlib')) ob_start('ob_gzhandler');
} else {
if (strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip')) {
if (extension_loaded('zlib')) {
$do_gzip_compress = true;
ob_start();
ob_implicit_flush(0);
Header('Content-Encoding: gzip');
}
}
}
}- Группа
- Супермодераторы
- Пункты
- 1595
- Регистрация
- 18.09.2008
- Пол
- Мужчина
- Из
- Россия
- Предупреждения
- Нет
3.92