Options -Indexes
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L,QSA]
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ index.php/$1 [L,QSA]
services:
web:
build: .docker/web
volumes:
- ./www:/var/www/html
ports:
- 3000:80
# Use an official PHP runtime
FROM php:8.2-apache
# Установка необходимых пакетов и PHP-расширений
RUN apt-get update && apt-get install -y \
zip \
unzip \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
libzip-dev \
cron \
nano \
&& docker-php-ext-install zip gd mysqli pdo pdo_mysql
# Установка Xdebug
RUN pecl install xdebug && docker-php-ext-enable xdebug
# Установка Composer
RUN curl -sS https://getcomposer.org/installer | php -- \
--install-dir=/usr/local/bin --filename=composer
# Копирование конфигов
COPY php.ini /usr/local/etc/php/conf.d/php.ini
COPY xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
COPY sites.conf /etc/apache2/sites-available/000-default.conf
# Указание рабочей директории
WORKDIR /var/www/html/
# Изменение прав доступа
RUN chown -R www-data:www-data /var/www/html
<VirtualHost *:80>
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
zver
- наш воображаемый пользователь-зверь.1. Какой пользователь в какое время заходил?
last
- история входов.last zver
- история входов зверя.lastb zver
- история неудачных входов зверя.last zver | grep "Jan 21"
- история входов зверя за 21 января сего года.last -s -7days zver
- история входов зверя за последние 7 дней.last -s 2025-01-15 -t 2025-01-21 zver
- история входов зверя за 15-21 января 2025 года.2. Действия того или иного пользователя?
cat /home/zver/.bash_history
- история команд зверя.who -u
- показывает активных пользователей (терминалы и время входа).ps -u zver
- показывает список активных процессов зверя.sudo iotop -u zver
- мониторинг ввода вывода пользователя зверя (в режиме реального времени).sudo iftop -f "src user zver"
- показывает сетевой трафик зверя.sudo tail -f /var/log/syslog | grep zver
- просмотр действий зверя в реальном времени.sudo journalctl -f | grep zver
- отслеживание действий зверя в реальном времени (если используется systemd).sudo lsof -u zver
- какие файлы открыты у зверя.find /home/zver -type f -mmin -60
- какие файлы изменил зверь за последний час.stat /home/zver/nomera-devchonok.txt
- показывает подробности что делал зверь с файлом стратегического назначения.3. Если пользователь пользовался sudo -i, sudo -s, sudo su, как посмотреть, что он делал под этими оболочками?
sudo grep zver /var/log/auth.log
- история команд (втч. под sudo) зверя.sudo zgrep zver /var/log/auth.log*
- просмотр истории команд зверя из текущих и архивных логгов.sudo aureport -x --summary
- показывает сводку команд (втч. под sudo).'default/<id:\d+>/brand-<brand:\d+>' => 'default/index',
'default/<id:\d+>' => 'default/index',
'default' => 'default/index',
echo Html::a('test', ['default/index', 'id' => $id, 'brand' => $brand])
echo Html::a('test', ['default/index', 'id' => $id])
echo Html::a('test', ['default/index'])
http://site.loc/default/index/3/brand-2
http://site.loc/default/index/3
http://site.loc/default/
RewriteEngine On
RewriteRule ^(frontend|backend)/web/ - [L]
RewriteCond %{REQUEST_URI} ^/(admin)
RewriteRule ^admin(\/?.*)$ backend/web/$1 [L]
RewriteCond %{REQUEST_URI} ^/
RewriteRule ^(\/?.*)$ frontend/web/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
'baseUrl' => '/admin'
http://site.com
попадёте на frontend, а по адресу http://site.com/admin
- в админку.http://site.com/subsite
.RewriteEngine On
RewriteRule ^(frontend|backend)/web/ - [L]
RewriteCond %{REQUEST_URI} ^/(subsite/admin)
RewriteRule ^admin(/.*)?$ backend/web/$1 [L]
RewriteCond %{REQUEST_URI} ^/(subsite)
RewriteRule ^(.*)$ frontend/web/$1 [L]
$baseUrl = str_replace('/backend/web', '', (new yii\web\Request)->getBaseUrl());
'baseUrl' => $baseUrl . '/admin'
class DefaultController extends Controller
{
public $test;
public function actionIndex()
{
$this->test = 'test';
/* остальной код метода */
}
}
<?= Yii::$app->controller->view->context->test ?>
$(function() {
$('#form-data').on('submit', function(e){
e.preventDefault()
var form = $(this); // Предположу, что этот код выполняется в обработчике события 'submit' формы
var data = new FormData(); // Для отправки файлов понадобится объект FormData. Подробнее про него можно прочитать в документации - https://developer.mozilla.org/en-US/docs/Web/API/FormData
// Сбор данных из обычных полей
form.find(':input[name]').not('[type="file"]').each(function() {
var field = $(this);
data.append(field.attr('name'), field.val());
});
// Сбор данных о файле (будет немного отличаться для нескольких файлов)
var filesField = form.find('input[type="file"]');
var fileName = filesField.attr('name');
var file = filesField.prop('files')[0];
data.append(fileName, file) ;
// Отправка данных
var url = 'upload.php';
$.ajax({
url: url,
type: 'POST',
data: data,
contentType: false,
cache: false,
processData:false,
success: function(response) {
console.log(response)
}
});
})
});
<form id="form-data" action='#'>
<input type="file" name="test" multiple>
<input type="submit" name='submit' value="Send">
</form>