orka13

orka13
Рейтинг
102
Регистрация
28.03.2011
zuza21:
Подскажите, пожалуйста. Думаю сделать на сайте страницу с редиректом на партнерку, чтобы ссылки с других страниц вели сюда. Стоит ли так делать? Нужно ли закрывать эту страницу от индексации?

Ну можно, даже СДЛ так делают. Вешают скрипт обратного отсчета времени и редиректят с этой промежуточной страницы. Закрыть или роботсом, или по правильному метатегом:

<meta name="robots" content="noindex, nofollow">

Откройте в robots.txt вики для индексации гуглом, а то внутренним инструментом с ошибками сложно искать.

http://pandoraboxx.ru/ упал ("403 Ошибка доступа"), софт не проходит проверку лицензии. Исправьте плиз.

Тут на предыдущей странице обсуждали юзермакрос «OchistkaPerenosov». Поделюсь его расширенной версией, в которой можно задавать любые регулярки для пост-обработки финального кода страницы (раскомментируйте строки нужные). А также предусмотрен метод исключения нужных участков страницы от обработки их макросом {NoOchistkaPerenosov}.. тут участок кода, который не надо трогать..{/NoOchistkaPerenosov} (работает аналогично принципу =nocssrename"]{NOCSSRENAME}{/NOCSSRENAME}:

Спс TopperHarley за наводящие подсказки. Я не кодер, могут быть где-то мелкие недочеты. Код писал на основе найденных в сети примеров на C#.

using System;

using System.Text;
using System.Text.RegularExpressions;
using System.Collections.Generic;
namespace PandoraBox
{
public class OchistkaPerenosov : IPluginMacro
{
public string Execute(string template, PluginMacroArgs args)
{
if(template.Contains("html xmlns"))
{
// Этот участок кода вырезает и запоминает отдельно наши блоки {NoOchistkaPerenosov}...{/NoOchistkaPerenosov},
// то есть они не будут участвовать в процесе "чистки" кода:
List<string> OchistkaPerenosovList = new List<string>();
string pattern13 = @"\{NoOchistkaPerenosov\}[\w\W]*\{\/NoOchistkaPerenosov\}";
foreach (Match m in Regex.Matches(template, pattern13, System.Text.RegularExpressions.RegexOptions.Multiline))
OchistkaPerenosovList.Add(m.Value);
template = Regex.Replace(template, pattern13, "NoOchistkaPerenosov");

// регулярка ниже заменяет плохие переносы строк (Unix`овые) на нормальные, удаляет и пустые строки:
template = Regex.Replace(template, @"[^\S \t]*(\r|\n)[^\S \t]", "\r\n", System.Text.RegularExpressions.RegexOptions.Multiline);

// регулярка ниже находит разрыв как раз в тех местах где нет закрывающего HTML тега «>»,
// то есть во всех «косяках с разрывами строк», которые остаются после макросов рандомизации Пандоры и т.д,
// она должна заменить «найденный символ + разрыв» на «найденный символ». Удалите два слеша начале строки, чтобы она заработала,
// параметр «…Multiline» означает что надо искать в «многострочном режиме»:
//template = Regex.Replace(template, @"([^>])\r\n", "$1", System.Text.RegularExpressions.RegexOptions.Multiline);

// регулярка ниже заменяет слова "бесплатно" на "свободно", независимо от рЕгИсТра (параметр «…IgnoreCase»),
// а то иногда партнерки не разрешают использовать это слово на сайте, а заменять его в текстовке мне было сложно,
//template = Regex.Replace(template, "БЕСПЛАТ", "свобод", System.Text.RegularExpressions.RegexOptions.IgnoreCase);

// строка ниже считывает текст из файла Regular_pattern.txt, который в том же каталоге что и PandoraBox.exe
// мне это надо было, когда в регулярке пришлось использовать редкие символы, и в код их (как в предыдущих примерах) не вставить:
//string Slognaya_Regularka = System.IO.File.ReadAllText(@"Regular_pattern.txt");
// строка ниже прописывает на что будем заменять:
//string Na_Chto_Zmenit = "любой текст";
// строка ниже производит такую же замену как и предыдущие аналоги, просто регулярки берет из переменных:
//template = Regex.Replace(template, Slognaya_Regularka, Na_Chto_Zmenit);

// строка ниже заменяет множественные пробелы одним пробелом:
template = Regex.Replace(template, " +", " ");

// Этот участок кода возвращает обратно в финальный код наши "вырезанные" блоки {NoOchistkaPerenosov}...{/NoOchistkaPerenosov}
int i = 0;
string template2 = Regex.Replace(template, "NoOchistkaPerenosov", delegate
{
return OchistkaPerenosovList[i++];
});
template = Regex.Replace(template2, @"\{\/?NoOchistkaPerenosov\}", "");

// возвращаем уже финальную "подчищенную" версию кода
return template;
}


return template;
}
public ushort Level { get { return 9; } }
public String Name { get { return "OchistkaPerenosov"; } }
}
}

Накатал себе скрипт-шаблон на ZennoPoster 5. Я в PandoraBox генерю в RAM диск (хватит 1-2 ГБ), скрипт на лету готовые сайты архивирует, архив перемещает на HDD, папку с дором удаляет, так что можно генерить хоть 1000 в пакетке. Потом другой скрипт эти архивы по FTP заливает и по SSH делает распаковку на серваке.

Идею ты понял. Придумай реализацию. Или могу продам свои наработки, если есть зенка.

TopperHarley:
Не зная старый пароль новый поставить не получится, на сколько я знаю. Не?

Можно, но много гемора. Я делал на зеннопстере для дропов. Логика такая:

Если в конце регистрации на странице есть текст под регулярку:

Ошибка:\s+сайт\s+с\s+таким\s+адресом\s+уже\s+зарегистрирован|site\s+with\s+such\s+name\s+is\s+already\s+registered

то идем на страницу "возобновления пароля"

http://www.liveinternet.ru/stat/%7B-Variable.site_url-%7D/index.html?what=reminder;lang=ru

парсим имя файла-тхт какой нам надо залить на сервер.

Конектимся по фтп на свой сайт и заливаем файл-тхт со своей почтой.

На странице "возобновления пароля" вводим эту нашу почту. И старый пароль придет на нее.

Тянем по IMAP старый пароль с нового ящика.

Заходим под старым паролем.

Обнуляем все параметры статистики на наши и меняем пароль.

Как видите процедура сложная. IMAP не у всех одинаково настроен. Разве что на одну почту заставить всех работать. UPD: часть ненужной инфы потерто.

UPD: - подскажи по моему предыдущему вопросу на пару постов выше. Там я и {STAT-n} юзал, тот же ефект.

Lastwarrior:
Что-то я вообще не нашел ссылку для перехода на этом доре, и обычные пользователи из выдачи тоже вряд ли ее найдут.

Дык ты из выдачи и зайди.

макросы {MEM} и {EMEM} работают только в пределах одного файла. Можно их как то глобально использовать в пределах одного генерируемого дора? То есть {MEM-1} я использую в файле template.html, а его результат [MEMRES-1] и в файле template.html, и в style.css.

Хотя вопрос не критичен, есть идеи как реализовать такие задачи через костыли в файле пакетки.

Ну я тогда слабо с регулярками экспериментировал. Теперь уже понимаю, что можно предыдущий код заменить на более универсальный, вроде работает:

using System;
using System.Text;
using System.Text.RegularExpressions;
namespace PandoraBox
{
public class OchistkaPerenosov : IPluginMacro
{
public string Execute(string template, PluginMacroArgs args)
{
if(template.Contains("html xmlns"))
{
//заменяем плохие переносы строк (Unix`овые) на нормальные, удаляет и пустые строки:
template = Regex.Replace(template, @"[^\S \t]*(\r|\n)[^\S \t]*", "\r\n", System.Text.RegularExpressions.RegexOptions.Multiline);
//удаляем множественные пробелы регуляркой:
//return Regex.Replace(template, @" +", " ");
}
return template;
}
public ushort Level { get { return 9; } }
public String Name { get { return "OchistkaPerenosov"; } }
}
}

Если трудно понять что делает регулярка выше, то поставь там более простую регулярку (ищет от двух классических переносов подряд):

template = Regex.Replace(template, @"(\r\n\){2,}", "\r\n", System.Text.RegularExpressions.RegexOptions.Multiline);
krabster:
Заменил, при тестировании в редакторе работает)
Обернул шаблон в
{OchistkaPerenosov}{/OchistkaPerenosov}
не работает. Макрос включен, всё как полагается.

ответ дали в последней строке /ru/forum/comment/15100976

Всего: 532