Контейнер с докером Stikked - отключение капчи - PullRequest
0 голосов
/ 02 мая 2019

Кто-нибудь докеризировал это приложение?

https://github.com/claudehohl/Stikked

Я довольно далеко вперед. Был в состоянии получить контейнер MySQL и запустить сайт на моем локальном компьютере. Но как бы я ни пытался отключить капчу, я получаю сообщение об ошибке: enter image description here

Я пытался отключить капчу в файле docker-php-entrypoint, в stikked.php.dist, и я полностью пытался выполнить команду docker run с -e STIKKED_ENABLE_CAPTCHA=false (я пробовал одинарные и двойные кавычки).

Шаги для воссоздания моей настройки:

С моего докера

1.Spin up MySQL контейнер docker run --rm --name stikdb --network=bridge -p 3306:3306 -e MYSQL_DATABASE=stikdb -e MYSQL_USER=stikuser -e MYSQL_PASSWORD=stikpassword -e MYSQL_ROOT_PASSWORD=stikrootpassword --hostname stikdb mysql:5.7

2.Checkout claudehohl / Stikked git project git clone https://github.com/claudehohl/Stikked.git

3.Строить контейнер Stikked. docker build -t stikked .

4. Закрепить контейнер с параметрами docker run --rm --link stikdb:stikdb --network bridge -e STIKKED_ENABLE_CAPTCHA=false -e STIKKED_BASE_URL=http://192.168.0.50:9999/ -e STIKKED_DB_HOSTNAME=stikdb -e STIKKED_DB_DATABASE=stikdb -e STIKKED_DB_USERNAME=stikuser -e STIKKED_DB_PASSWORD=stikpassword -p 9999:80 stikked

С моего рабочего стола

5. Перейдите к http://192.168.0.50:9999/ и попробуйте создать новую пасту

1 Ответ

0 голосов
/ 02 мая 2019

Текущий взлом на месте.

Я оставляю эту заметку на тот случай, если кто-то споткнется по этому вопросу, и на него никогда не будет получен правильный ответ.

Мне удалось изменить пару файлов, чтобы отключить функцию капчи и убрать ее из отображения.

  1. Редактировать /htdocs/application/controllers/Main.php Удалить строки 465-469 (включая 469)
               array(
                    'field' => 'captcha',
                    'label' => 'Captcha',
                    'rules' => 'callback__valid_captcha',
                ) ,

* Эта капча больше не нужна для отправки пастбина, но форма осталась на странице

  1. Редактировать /htdocs/themes/default/views/defaults/paste_form.php Удалить строки 109-123
<?php if($this->config->item('enable_captcha') && $this->session->userdata('is_human') === null){ ?>
        <div class="item_group">
            <div class="item item_captcha">
                <label for="captcha"><?php echo lang('paste_spam'); ?>
                    <span class="instruction"><?php echo lang('paste_spam_desc'); ?></span>
                </label>
<?php if($use_recaptcha){
    echo recaptcha_get_html($recaptcha_publickey, null, stristr(base_url(), 'https'));
} else { ?>
                <img class="captcha" src="<?php echo site_url('view/captcha'); ?>?<?php echo date('U', time()); ?>" alt="captcha" width="180" height="40" />
                <input value="" type="text" id="captcha" name="captcha" tabindex="2" maxlength="32" />
<?php } ?>
            </div>
        </div>
<?php } ?>

* Это заставило форму уйти со страницы

Перестройте образ Docker и запустите контейнер!

Я знаю, что это хак, который не решает, почему код не отключил капчу, а в отчаянные времена ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...