Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Защита от RIP'a

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

oxygenium

Компетентный
Приветствую пользователей Pawno-Info.Ru. Вот вам защита для вашего шаблона. В отличии от тех, которые запрещают правую кнопку мыши, она скрывает и кодирует исходный код.

Функции:
guard_replace(значение)
guard(значение)
guard_escape(значение)

Из всех функций понадобится только guard
Мануал по установке:

1. Создаем файл guard.inc.php cо следующим содержимым

PHP:
<?php
function guard_replace($str)
{
    $from = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $to = 'nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM';

    return strtr($str, $from, $to);
}

function guard_escape($plain)
{
    $escaped = "";
    $passChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789*@-_+./";

    for ($i = 0; $i < strlen($plain); $i++)
    {
        $char = $plain{$i};
        if (strpos($passChars, $char) === false)
        {
            $escaped .= sprintf("%%%02X", ord($char));
        }
        else
        {
            $escaped .= $char;
        }
    }

    return $escaped;
}


function guard($plain, $longPwd=False, $rot13=False, $sorry="Ваш текст")
{

    $escaped = guard_escape($plain);
    if ($rot13)
    {
        $escaped = guard_replace($escaped);
    }

    $numberOfColumns = 10;
    $numberOfRows = ceil(strlen($escaped) / $numberOfColumns);
    $scrambled = "";

    $escaped = str_pad($escaped, $numberOfColumns * $numberOfRows);

    $password = "";
    srand(time());
    for ($j = 0; $j < ($longPwd ? $numberOfRows : 1); $j++)
    {
        $availChars = substr("0123456789", 0, $numberOfColumns);
        for ($i = 0 ; $i < $numberOfColumns; $i++)
        {
            $char = $availChars{ rand(0, strlen($availChars)-1) };
            $password .= $char;
            $availChars = str_replace($char, "", $availChars);
        }
    }

    $scramblePassword = str_repeat($password, $longPwd ? 1 : $numberOfRows);

    $scrambled = str_repeat(" ", $numberOfColumns * $numberOfRows);
    $k = 0;
    for ($i = 0; $i < $numberOfRows; $i++)
    {
        for($j = 0; $j < $numberOfColumns; $j++ )
        {
            $scrambled{(((int)$scramblePassword{$k}) * $numberOfRows) + $i} = $escaped{$k};
            $k++;
        }
    }

    $javascript = "<SCRIPT>\n<!--\n";
    $javascript .= "Тут ваш текст)\n";
    $javascript .= "var a='';var b='$scrambled';var c='$password';";
    if ($rot13)
    {
        $javascript .= "var d='';";
    }
    $javascript .= "for(var i=0;i<$numberOfRows;i++) for(var j=0;j<$numberOfColumns;j++) ";

    if ($rot13)
    {
        $javascript .= "{d=b.charCodeAt(";
    }
    else
    {
        $javascript .= "a+=b.charAt(";
    }

    if ($longPwd)
    {
        $javascript .= "(parseInt(c.charAt(i*$numberOfColumns+j))*$numberOfRows)+i); ";
    }
    else
    {
        $javascript .= "(parseInt(c.charAt(j))*$numberOfRows)+i);";
    }

    if ($rot13)
    {
        $javascript .= "if ((d>=65 && d<78) || (d>=97 && d<110)) d+=13; else if ((d>=78 && d<91) || (d>=110 && d<123)) d-=13;a+=String.fromCharCode(d);}";
    }

    $javascript .= "document.writeln(unescape(a));\n";
    $javascript .= "-->\n</SCRIPT>\n";
    $javascript .= "\n$sorry";

    return $javascript;
}

?>
2. В ваш документ (index.php и т.д.) подключаем этот файл через require_once и засовываем весь HTML код в функцию guard.
Пример:

PHP:
<?php
require_once("guard.inc.php");
echo guard('
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Welcome to Blur Studio</title>
	<meta name="description" content="..." />
	<meta name="keywords" content="..." />
    <style type="text/css" media="all">
		@import url("css/style.css");
		@import url("css/nivo-slider.css");
		@import url("css/custom-nivo-slider.css");
		@import url("css/jquery.fancybox.css");
	</style>
	<!--[if lt IE 8]><style type="text/css" media="all">@import url("css/ie.css");</style><![endif]-->
</head>
');
?>
При просмотре кода страницы выведет примерно следующее:

Код:
%22e.ma2siurtn%00ites2ucaIr.02%nCp%0C%09%09%3sdlA%0%C%09Ea2s2ltnt002%%mpi%0eo0lct2m22lr3/9%3A%09%09%aaE%0CgE%0Cegnndig02eusi%0%0e2oi2e%noa22lr3/9%3A%09%39%09E%32-%09%0A%09%09%0i92n2%09%09/%
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу