Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

0 Пользователей и 1 Гость просматривают эту тему.
  • 14 Ответов
  • 5088 Просмотров
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Приветствую форумчан! Столкнулся недавно с такой бедой. Нашел в сети сайт-клон своего горячо любимого сайта. Какие-то хулиганы с помощью проги TelePort выкачали сайт и разместили на созвучном домене, при этом не забыв навешать саповской рекламы. Хотел реализовать защиту от скачки на другом своем сайте, по третьему способу описанному  здесь http://blog.theringing.net/noteleport-ili-kak-zashhitit-sajt-ot-polnogo-vykachivaniya/.
Заминка произошла при добавлении вот этого фрагмента кода в шапку сайта
Код
<?php
include “flooders.inc.php”;
$f=new Flooders(”/tmp/ban.txt”);
$f->Check(403);
?>
Добавлял в файле index.php шаблона сайта. После вставки кода, сайт не отображается, убираю код - все нормально. Подскажите что не так делаю.  !
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Защита от скачивания сайта!
« Ответ #1 : 14.02.2010, 00:39:57 »
Цитировать
Добавлял в файле index.php шаблона сайта. После вставки кода, сайт не отображается, убираю код - все нормально. Подскажите что не так делаю.  !
А файл flooders.inc.php у вас есть, который собственно подключаете?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #2 : 14.02.2010, 00:46:23 »
Да ,конечно, flooders.inc.php сделан, положен в корень сайта. Код который должен быть на “подставной” странице также присутствует, скрытую ссылку сделал, а вот с кодом , который должен быть по идее в шапке - заминка.   
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Защита от скачивания сайта!
« Ответ #3 : 14.02.2010, 00:49:26 »
если видите белую страницу - смотрим error.log сервера
Ошибка может быть как в подключаемом файле так и в неверном пути до него
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #4 : 14.02.2010, 00:57:08 »
понял, будем смотреть error.log . так и есть - страница белая.
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #5 : 14.02.2010, 19:29:06 »
После вставки вышеуказанного кода в шапку шаблона сайта (файл index.php), журнал ошибок (error_log) выдает следующее

[Sun Feb 14 19:08:09 2010] [error] PHP Warning: include(\xe2\x80\x9cfloodersincphp\xe2\x80\x9d) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in /home/u184407/mysite.ru/www/templates/mysite/index.php on line 17
[Sun Feb 14 19:08:09 2010] [error] PHP Warning: include() [<a href='function.include'>function.include</a>]: Failed opening '\xe2\x80\x9cfloodersincphp\xe2\x80\x9d' for inclusion (include_path='.:') in /home/u184407/mysite.ru/www/templates/mysite/index.php on line 17
[Sun Feb 14 19:08:09 2010] [error] PHP Fatal error: Class 'Flooders' not found in /home/u184407/mysite.ru/www/templates/mysite/index.php on line 18

*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Защита от скачивания сайта!
« Ответ #6 : 14.02.2010, 19:32:30 »
выдает ошибку подключения файла, еще раз проверьте наличие файла, пути к нему в инклюде, CHMOD на чтение
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #7 : 14.02.2010, 19:48:19 »
Еще некоторые моменты:

1) Сайт оригинал - Joomla 1.5.12
2) На сайте стоит компонент Photoslide GK2, который на сайте-клоне не функционирует (этот компонент выводит изображения на главной странице, что-то вроде слайдшоу) На клоне выводятся только превьюшки, а само изображение не отображается.
3) При переходе по внешней ссылке на сайте-клоне выскакивает окно где написано :
http://www.ссылка на какой-либо сайт.ru//  

This file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  

Do you want to open it from the server? Yes No

3) На моем сайте стоит компонент автоматического перевода от Google, при попытке перевода на сайте-клоне выскакивает окно, где написано : Google   Error     Bad Request
    Your client has issued a malformed or illegal request.
*

Gazon

  • Захожу иногда
  • 138
  • 7 / 0
  • Образец морали куртуазной
Re: Защита от скачивания сайта!
« Ответ #8 : 14.02.2010, 19:55:58 »
Не отходя от кассы.. Как реализовать данный пункт?
Цитировать
2. Ограничение по количеству просмотренных страниц за назначенный промежуток времени.
*

rubasket

  • Захожу иногда
  • 346
  • 13 / 1
  • RuBasket.com
Re: Защита от скачивания сайта!
« Ответ #9 : 14.02.2010, 19:57:26 »
при чем здесь это ? 0-о
Только я знаю,что могу (C) Джон Локк 
Why him ?Mmm? What  about me? БЕНЖАМИН Л
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #10 : 14.02.2010, 20:02:17 »
Gazon, я ухватился за 3ий вариант, его и пытаюсь реализовать. Разберешься со вторым - честь тебе и хвала. ;)
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #11 : 14.02.2010, 20:33:39 »
Наличие файлов проверил, CHMOD выставил как надо, пути тоже вроде верно. На этот раз  error_log выдает следующее

[Sun Feb 14 20:20:15 2010] [error] PHP Parse error: syntax error, unexpected '"' in /home/u184407/mysite.ru/www/flooders.inc.php on line 63

Привожу полный код flooders.inc.php
Код
<?
    class Flooders {
        var $filename;    /* Имя файла, в котором хранится список  */
                          /* запрещенных IP адресов                */

        var $timeout;     /* Время, на которое производится бан IP */
                          /* адреса. По умолчанию - 600 (10 минут) */

        var $log;         /* Имя лог-файла.                        */

        var $AGENTS;      /* Массив - список разрешенных агентов   */

        /*                                                             */
        /* Конструктор - в параметрах можно указать основные настройки */
        /*                                                             */
        /*   $filename - имя файла, в котором хранится список          */
        /*               забаненных адресов.                           */
        /*   $timeout - время, в секундах, на которое банится IP.      */
        /*                                                             */
        /* Пример: $f=new Flooders("ban.txt",3600);                    */
        /*                                                             */

        function Flooders($filename="flooders.txt",$timeout=600) {
            $this->filename=$filename;
            $this->timeout=$timeout;
            $this->AGENTS=Array();
            $this->log="";
            }

        /*                                                             */
        /* Задает имя лог-файла. Если имя файла пустое, то лог-файл    */
        /* не испольщуется                                             */
        /*                                                             */

        function SetLogFileName($filename) {
            $this->log=$filename;
            }
       
        /*                                                             */
        /* Проверка IP адреса на нахождение в бан-листе.               */
        /*                                                               */
        /* Если $http_errror==0, то возвращает true, если IP адрес     */
        /* забанен, и false, если IP адрес разрешен.                   */
        /*                                                             */
        /* Если $http_error==404 и IP адрес забанен, то выводится      */
        /* стандартная страница 404 сервера Apache                     */
        /*                                                             */
        /* Если $http_error==403 и IP адрес забанен, то выводится      */
        /* стандартная страница 403 сервера Apache                     */
        /*                                                             */

        function Check($http_error=0) {
            GLOBAL $HTTP_SERVER_VARS;

            $ip1=$HTTP_SERVER_VARS["REMOTE_ADDR"];
            $ip2=$HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
            $ip1=str_replace(":","_",$ip1);
            $ip2=str_replace(":","_",$ip2);

            $curtime=time();

            $d=@file($this->filename);
            if (!is_array($d)) {print "Ошибка чтения из файла "".$this->filename."".";return(false);}

            $found=false;
            for ($i=0;$i<count($d);$i++) {
                $e=explode(" : ",$d[$i]);
                if ($e[1]==$ip1 && trim($e[2])==$ip2 && $e[0]+$this->timeout>$curtime) {$found=true;break;}
                }
            if ($http_error==404 && $found==true) {
                header("HTTP/1.0 404 Not Found");
                die("\n The requested URL ".$HTTP_SERVER_VARS["REQUEST_URI"]." was not found on this server.");
                }
            if ($http_error==403 && $found==true) {
                header("HTTP/1.0 403 Forbidden");
                die("n\n\n\n <h1>Forbidden</h1>

    nYou don't have permission to access ".$HTTP_SERVER_VARS["REQUEST_URI"]."non this server. \n

    \n".$HTTP_SERVER_VARS["SERVER_SIGNATURE"]."n");
                }
            return($found);
            }

        /*                                                             */
        /* Добавления IP адреса в бан-лист                             */
        /*                                                             */

        function Ban() {
            GLOBAL $HTTP_SERVER_VARS;

            $agent=" ".$HTTP_SERVER_VARS["HTTP_USER_AGENT"];
            for ($i=0;$i<count($this->AGENTS);$i++) {
                if (strpos($agent,$this->AGENTS[$i])) return;
                }

            $ip1=$HTTP_SERVER_VARS["REMOTE_ADDR"];
            $ip2=$HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
            $ip1=str_replace(":","_",$ip1);
            $ip2=str_replace(":","_",$ip2);

            $curtime=time();

            $d=@file($this->filename);
            if (!is_array($d)) {print "Ошибка чтения из файла "".$this->filename."".";}

            for ($i=0;$i<count($d);$i++) {
                $e=explode(" : ",$d[$i]);
                if ($e[1]==$ip1 && trim($e[2])==$ip2) unset($d[$i]);
                }

            if (need_add) {
                if (!empty($this->log)) {
                    $fw=fopen($this->log,"at");
                    if ($fw) {
                        fputs($fw, date("Y-m-d H:i:s")." [".$ip1."|".$ip2."]".$agent."n");
                        fclose($fw);
                        }
                    }
                $d[]=$curtime." : ".$ip1." : ".$ip2."n";
                }

            $fw=@fopen($this->filename,"wt");
            if (!$fw) {print "Ошибка записи в файла "".$this->filename."".";return;}

            foreach ($d as $e) fputs($fw,$e);
            fclose($fw);
            }
       
        function AddAlowAgent($agent) {
            $this->AGENTS[]=$agent;
            }
        }
    ?>
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Защита от скачивания сайта!
« Ответ #12 : 14.02.2010, 20:35:02 »
мы должны считать строки чтобы найти где там неправильные кавычки?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #13 : 14.02.2010, 20:37:18 »
63 строка

if (!is_array($d)) {print "Ошибка чтения из файла "".$this->filename."".";return(false);}
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #14 : 16.02.2010, 14:17:17 »
Может кто-то предложит свои варианты для защиты сайта на Joomla от TelePorta и ему подобных оффлайн браузеров. Что можно еще предпринять? В сети на эту тему ничего стоящего не нашел, все что нашел - это ссылка в первом посте.
Делаете Вы сайт с уникальным дизайном и контентом, стараетесь, а потом пионерят весь Ваш сайт целиком и делают в сети клон, что не очень то приятно...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Чем лучше всего делать резервные копии сайта?

Автор 7Azimuth

Ответов: 115
Просмотров: 59738
Последний ответ 29.11.2023, 14:41:12
от sivers
Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 4149
Последний ответ 12.11.2023, 23:37:03
от all_zer
Не могу распаковать jpa архив сайта Akeeba backup. ajax error

Автор smadkz

Ответов: 4
Просмотров: 1954
Последний ответ 26.12.2020, 15:15:15
от stendapuss
Версия сайта для слабовидящих

Автор nikos

Ответов: 22
Просмотров: 44485
Последний ответ 27.11.2020, 11:04:18
от chernobyl
Поиск статьи по url сайта в админке Joomla 1.5

Автор Tema

Ответов: 5
Просмотров: 2246
Последний ответ 14.08.2020, 07:16:44
от rsn