samdark/yii2-webshell A web shell that allows to run yii console commands and create your own commands.

Yii 2.0 web shell

  1. Installation
  2. Configuration
  3. Access control
  4. Limitations

Web shell allows to run yii console commands using a browser.

screenshot.png

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist samdark/yii2-webshell "~2.0"

or add

"samdark/yii2-webshell": "~2.0"

to the require section of your composer.json file.

Configuration

To use web shell, include it as a module in the application configuration like the following:

return [
    'modules' => [
        'webshell' => [
            'class' => 'samdark\webshell\Module',
            // 'yiiScript' => Yii::getAlias('@root'). '/yii', // adjust path to point to your ./yii script
        ],
    ],

    // ... other application configuration
]

With the above configuration, you will be able to access web shell in your browser using the URL http://localhost/path/to/index.php?r=webshell

Access control

By default access is restricted to local IPs. It could be changed via allowedIPs property. Additionally, checkAccessCallback is available to be able to introduce custom access control:

return [
    'modules' => [
        'webshell' => [
            'class' => 'samdark\webshell\Module',
            // 'yiiScript' => Yii::getAlias('@root'). '/yii', // adjust path to point to your ./yii script
            'allowedIPs' => ['127.0.0.1', '::1', '192.168.0.2'],
            'checkAccessCallback' => function (\yii\base\Action $action) {
                // return true if access is granted or false otherwise
                return true;
            }
        ],
    ],

    // ... other application configuration
]

Limitations

Web shell is unable to work interactively because of request-response nature of web. Therefore you should disable interactive mode for commands.

0 0
2 followers
38 026 downloads
Yii Version: 2.0
License: BSD-3-Clause
Category: Others
Developed by: samdark
Created on: Mar 23, 2018
Last updated: (not set)
Packagist Profile
Github Repository

Related Extensions