Чтение RSS каналов

Форум

Открыть Ответить

Фиксим баг с отображением капчи в Опера

11
03.01.2010 08:26:11
garry, попробуйте отключить в админке, в настройках безопасности, контроль за передачей GET и POST.
Что-то не совсем понятно, почему не хочет работать на хосте.
У меня что на Денвере, что на хосте - все нормально.
3.97

3.97
12
03.01.2010 13:45:0603.01.2010 13:47:57
GRAFLEKX, Всё ок, я просто совсем забыл посмотреть в htaccess. Там у меня масса всякого нужного и не очень.

Спасибо ещё раз, всё ок.

Вы бы по рекламировали свои модули, там же полезные все.

Всем смотреть в подпись GRAFLEKX
3.84

3.84
13
03.01.2010 17:32:24
garry, ну вот и отлично, удачи Смайл - 13.
3.97

3.97
14
27.01.2010 02:25:43
проблема отображения капчи не в коде самой капчи, а в файле 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");


проще некуда, все сразу пашет в любом браузере! :))

ЗЫ
ну а лучше вообще поменять капчу Смайл - 02
http://pdator.ru/account-newuser.html
3.69

3.69
15
27.01.2010 06:48:27
Любая капча зло, ИМХО. Как показало время, от ботов есть и другие способы защиты. С ноября постепенно снимаю со всех своих проектов капчи. Пока результат лучше, чем мог подумать.
4.01

4.01
16
27.01.2010 08:09:10

Любая капча зло, ИМХО. Как показало время, от ботов есть и другие способы защиты. С ноября постепенно снимаю со всех своих проектов капчи. Пока результат лучше, чем мог подумать.



а как защищаться от спама, внедрил всюду капчу именно из-за того, что стало на сайте регестрироваться по 10 человек в день и постить в коментах спам по 30 сообщений в день...
3.82

3.82
17
27.01.2010 09:35:3627.01.2010 09:40:16

Любая капча зло, ИМХО. Как показало время, от ботов есть и другие способы защиты. С ноября постепенно снимаю со всех своих проектов капчи. Пока результат лучше, чем мог подумать.



а как защищаться от спама, внедрил всюду капчу именно из-за того, что стало на сайте регестрироваться по 10 человек в день и постить в коментах спам по 30 сообщений в день...



Вот куда нужно копать http://www.slaed.net/forum-view-6577.html . Способо действиетльно надежней, чем капча. От роботов защищает на ура, а от людей ничего не защитит. Я данный способ применил не толкько к регистрации, а вооще везде, где есть поля для ввода данных! Помогает на ура. Серъезно, уже пару месяцев вообще нет спама. ровно НОЛЬ. Я даже камменты разрешил всем подряд писать, и спама нет, хотя раньше постоянно вычещал кучу мусора и капчас вообще не спасала
4.01

4.01
18
27.01.2010 12:53:16
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'].'" />&nbsp;&nbsp;<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;
	}
}
3.69

3.69
19
21.03.2010 21:16:20
Всё сделал как тут написанно, и всёравно не работает... Смайл - 03


Версия системы: Open SLAED 1.*
Версия PHP: PHP 5
Сервер: Сервер в интернете
4.2

4.2
20
21.03.2010 21:26:38
black4k, чет у Вас ни чего не получается Смайл - 04
Откройте файл 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');
}
}
}
}
3.97

3.97
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь