Модуль обмен ссылками

Статус
В этой теме нельзя размещать новые ответы.

denis-z

Создатель
Регистрация
21 Апр 2007
Сообщения
25
Реакции
8
Этот модуль абсолютно не нужен, можно ли его вырезать из движка?

В темплейте он не отображается, а ссылки спамеры всеравно добавляют:) помогите мне от этого избаиться.. в каких файлах и что нужно резать?:ah:
 
Я давно пришёл к такому же выводу.;)
Совсем сносить модуль не стал, оставил несколько ссылок, но убрал возможность предложения ссылок. Сделал, кажется, так:

в файле шаблона links_exchange.tpl нашёл и удалил

Код:
<td align="right">
[ <a href="#add_link">{$smarty.const.STRING_LE_ADD_LINK}</a> ]
</td>
Это убирается ссылка "предложить ссылку". Но это не достаточно для защиты от автоматического спама, поэтому
ещё вместо
Код:
<form action="{$REQUEST_URI}" method="POST">
<input name="fACTION" value="ADD_LINK" type="hidden" />
<input name="fREDIRECT" value="{$REQUEST_URI}" type="hidden" />
{$smarty.const.ADMIN_LE_LINK_CATEGORY}:
<br />
<select name="LINK[le_lCategoryID]">
<option value="0">{$smarty.const.ADMIN_NOT_DEFINED}</option>
{foreach from=$le_categories item=_category}
<option value="{$_category.le_cID}" 
{if $le_CategoryID==$_category.le_cID} selected="selected"
{elseif $pst_LINK.le_lCategoryID==$_category.le_cID} selected="selected"
{/if}
>{$_category.le_cName}</option>
{/foreach}
</select>
<br />
{$smarty.const.ADMIN_LE_LINK_URL}:
<br />
<input name="LINK[le_lURL]" value="{if $pst_LINK.le_lURL}{$pst_LINK.le_lURL}{else}http://{/if}" size="60" type="text" />
<br />
{$smarty.const.ADMIN_LE_LINK_TEXT}:
<br />
<input name="LINK[le_lText]" value="{$pst_LINK.le_lText}" size="60" type="text" />
<br />
<br />
<input value="{$smarty.const.ADD_BUTTON}" type="submit" />
</form>
вставил текст следующего содержания
Код:
Размещение ссылок возможно только после личного рассмотрения Вашего предложения Администратором. Автоматического добавления и добавления ссылок на сайты не соответствующие мебельной тематике - нет!
Вот теперь бы поставить защиту с проверкой для формы запроса (в день сыпят уже больше 100 сообщений спама:(ah:
 
  • Заблокирован
  • #3
Не могу разобраться, дает ошибку!:bc:
 
у меня тоже выдаёт ошибку. Народ кто знает как отключить этот модуль - объясните пож-та, а то в день по несколько сот ссылок мне на сайт закидывают...
 
переработать модуль

Как Вы посмотрите на то, чтобы данный модуль переделать на скажим так Модуль Отзывы.
Добавленные сообщения отображаются не сразу, а после проверки администратором. Использовать для организации раздела отзывов в целом об интернет-магазине.


Может кто-то поможет сделать данный "модуль" или уже сделал? :thenks:
 
Не могу разобраться, дает ошибку!:bc:
Вот, чтобы не парится, прикрепляю уже правленный файл, просто скопируйте его в папку с вашим шаблоном вместо оригинального.

Как Вы посмотрите на то, чтобы данный модуль переделать на скажим так Модуль Отзывы.
Добавленные сообщения отображаются не сразу, а после проверки администратором. Использовать для организации раздела отзывов в целом об интернет-магазине.
Мысь не плохая, но надо будет ставить капчу, потому, что если твой магазин уже попал в спам-базу, используя которую ссылки вваливают програмно (тем же самым аллсабмитером), то так же получишь вместо отзывов кучу ссылок.
 

Вложения

  • links_exchange.tpl.rar
    883 байт · Просмотры: 12
"модуль отзывы"

ndmitry -- я с тобой на 100% согласен что нужно ставить на данный "модуль отзывы" капчу. Я думаю капчу установить welhor поможет, если будет иметь желание.
Но для начала нужно сделать данный "модуль отзывы".
Данный модуль пригодится магазинам которые только стали раскручиваться, люди будут видеть хоть какие-то отзывы о данном магазине. Поэтому данный модуль я думаю всем будет полезный.
Опять же сам бы сделал, но в html и php только новичок (знаний недостаточно). Поэтому надеюсь на Вашу помощь, если вас данный вопрос также интересует.
 
Товарищи подскажите, кто уже питался внедрить CAPTCHA при отправки информации в этот модуль?
У меня не получается.
Есть пример внедрения CAPTCHA при отправки вопросов по товару и отзывы: Для просмотра ссылки Войди или Зарегистрируйся
Я так понимаю нужно поковыряться в файле includes/links_exchange.php , там есть проверка заполнения полей, чтото типа:
if(!strlen($_POST['LINK']['le_lText'])){
$error = STRING_ERROR_LE_ENTER_TEXT;
break;
}
я добавил код:
if (
isset($_SESSION['captcha_keystring']) &&
!empty($_SESSION['captcha_keystring']) &&
isset($_POST['captcha_string']) &&
$_SESSION['captcha_keystring'] === $_POST['captcha_string']){
unset($_SESSION['captcha_keystring']);
}
else
{
$error = STRING_ERROR_LE_KEY;
break;
}
При неправильном вводе символов, КАПЧА ведет себя правильно, выдает предупреждение, и просит повторно ввести ключ с картинки.
НО информация в базу данных проходит!
Где еще нужно задать условие что бы при неправильном вводе ключа информация не проходила в базу данных?
 
Вставляем КАПЧУ в форму обменя ссылками.

В общем кажется решил проблему.
Для того что бы поставить капчу в форму обмена ссылками нужно первым делом сделать так как описано на Для просмотра ссылки Войди или Зарегистрируйся Сергея, цитирую:
"Первым делом, надо скачать отличный скрипт Для просмотра ссылки Войди или Зарегистрируйся. Из архива надо извлечь полностью папку ‘fonts’ и файлы kcaptcha.php и kcaptcha_config.php. Сложить их в отдельную директорию на сервере, я, например, поместил их в ‘/kcaptcha’.
После этого на основе примера надо написать маленький скрипт, который будет по запросу генерировать картинку и записывать код, отображенный на ней, в переменную сессии. Я сделал вот такой:
<?php
include('kcaptcha.php');
session_start();
$captcha = new KCAPTCHA();
$_SESSION['captcha_keystring'] = $captcha->getKeyString();
?>
назвал его ‘captcha.php’ и положил в ту же директорию ‘/kcaptcha’.
Можно проверить, как оно работает, набрав в браузере адрес ‘Для просмотра ссылки Войди или Зарегистрируйся – должна показаться картинка."
Дальше я продолжу.
Нам нужно будет произвести изменения в трех файлах:
  1. /includes/links_exchange.php - обработка данных формы;
  2. /core_functions/linkexchange_functions.php - добавляет информацию в базу данных;
  3. /templates/frontend/{шаблон}/links_exchange.tpl.html - шаблон обмена ссылками.
1. links_exchange.php
Находим строчки проверки на ошибки:
if(!strlen($_POST['LINK']['le_lText'])){
$error = STRING_ERROR_LE_ENTER_TEXT;
break;
}
Под ними добавляем проверку на ошибки КАПЧИ:
if(strlen($_POST['captcha_string']) &&
isset($_SESSION['captcha_keystring']) &&
!empty($_SESSION['captcha_keystring']) &&
isset($_POST['captcha_string']) &&
$_SESSION['captcha_keystring'] === $_POST['captcha_string'])
{
unset($_SESSION['captcha_keystring']);
}
else
{
$error = STRING_ERROR_LE_KEY;
break;
}
Дальше находим строчи проверки введенных данных:
$smarty->assign('last_page', $TotalPages);
Под ней добавляем проверку введеной строки CAPTCHA:
$smarty->assign('kaptcha_img_url',
'/kcaptcha/captcha.php?' .
str_replace(array(' ', '.'), '', microtime()));
Здесь кажется все.
2. linkexchange_functions.php
Находим функции добавления в базу данных:
function le_addLink($_link){
$_link = TransformStringToDataBase($_link);
$sql = "
SELECT le_lID FROM ".LINK_EXCHANGE_LINKS_TABLE."
WHERE le_lURL='{$_link['le_lURL']}'
";
list($_le_lID) = db_fetch_row(db_query($sql));
if(!empty($_le_lID))return false;
$sql = "
INSERT INTO ".LINK_EXCHANGE_LINKS_TABLE."
(`".implode("`, `", TransformStringToDataBase(array_keys($_link)))."`)
VALUES('".implode("', '", $_link)."')
";
db_query($sql);
return db_insert_id();
}
Перед началом работы функции нужно вставить проверку, во общем меняем на:
function le_addLink($_link){
if (!strlen($_POST['captcha_string']) &&
!isset($_SESSION['captcha_keystring']) &&
empty($_SESSION['captcha_keystring']) &&
!isset($_POST['captcha_string']) &&
$_SESSION['captcha_keystring'] != $_POST['captcha_string'])
{
$error = STRING_ERROR_LE_KEY;
unset($_SESSION['captcha_keystring']);
}
else
{
$_link = TransformStringToDataBase($_link);
$sql = "
SELECT le_lID FROM ".LINK_EXCHANGE_LINKS_TABLE."
WHERE le_lURL='{$_link['le_lURL']}'
";
list($_le_lID) = db_fetch_row(db_query($sql));
if(!empty($_le_lID))return false;
$sql = "
INSERT INTO ".LINK_EXCHANGE_LINKS_TABLE."
(`".implode("`, `", TransformStringToDataBase(array_keys($_link)))."`)
VALUES('".implode("', '", $_link)."')
";
db_query($sql);
return db_insert_id();
}
}
Здесь все.
3. links_exchange.tpl.html
Находим строчку в форме добавления ссылки:
<input name="LINK[le_lText]" value="{$pst_LINK.le_lText}" size="60" type="text" />
<br />
И под ней вставляем саму капчу:
<table width="300" border="0">
<tr>
<td>Введите число с картинки: <input type="text" size="25" name="captcha_string" /></td>
<td><img src="{$kaptcha_img_url}" alt="Kaptcha" /></td>
</tr>
</table>
Кажется все, надеюсь что ничего не пропустил.
 
кому нафиг не нужен модуль обмена ссылками - просто закройте url через .htaccess и по желанию возвращайте ошибку или редирект на главную, кому как нравится
это проще чем выковыривать его из движка
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху