Sun. Dec 22nd, 2024

Desarrollo de una aplicación Flask para ejecutar comandos del sistema y scripts Bash

By admin Jan 28, 2024

¿Qué es el matraz?

Flask es un marco web ligero y flexible para Python. Proporciona un enfoque simple y minimalista para crear aplicaciones web.

Flask es conocido por su simplicidad y facilidad de uso, lo que lo convierte en una opción popular para los desarrolladores que desean crear rápidamente aplicaciones web de tamaño pequeño y mediano. A menudo se utiliza para crear prototipos y desarrollar API.

¡Acerca de este tutorial!

Para crear una aplicación Flask que pueda ejecutar comandos del sistema y scripts bash, puede usar el subprocess módulo en Python. A continuación se muestra un ejemplo sencillo de una aplicación Flask que proporciona una interfaz web para ejecutar comandos y scripts.

Primero, asegúrese de tener Flask instalado. Puedes instalarlo usando:

pip install Flask

Ahora, crea un archivo llamado app.py y agregue el siguiente código:

from flask import Flask, render_template, request
import subprocess

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/execute', methods=['POST'])
def execute():
    if request.method == 'POST':
        command = request.form.get('command', '')

        # Run the command using subprocess
        try:
            result = subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT, text=True)
            return render_template('index.html', result=result, command=command)
        except subprocess.CalledProcessError as e:
            return render_template('index.html', result=e.output, command=command, error=True)

if __name__ == '__main__':
    app.run(debug=True)

Ahora, crea una carpeta llamada templates en el mismo directorio que app.py. Dentro de templates carpeta, cree un archivo HTML llamado index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Flask Command Executor</title>
</head>
<body>
    <h1>Flask Command Executor</h1>
    <form method="post" action="{{ url_for('execute') }}">
        <label for="command">Enter Command or Script:</label>
        <input type="text" id="command" name="command" required>
        <button type="submit">Execute</button>
    </form>
    {% if command %}
        <h2>Command/Script Executed:</h2>
        <pre>{{ command }}</pre>
        {% if error %}
            <h2>Error Output:</h2>
            <pre style="color: red;">{{ result }}</pre>
        {% else %}
            <h2>Output:</h2>
            <pre>{{ result }}</pre>
        {% endif %}
    {% endif %}
</body>
</html>

Este archivo HTML incluye un formulario con una entrada de texto para ingresar comandos o scripts. La aplicación Flask utiliza el subprocess módulo para ejecutar el comando ingresado y muestra el resultado en la página web.

Para ejecutar la aplicación Flask, ejecute el siguiente comando en la terminal:

python app.py

Visita http://127.0.0.1:5000/ en su navegador web para acceder a la aplicación. Ingrese comandos del sistema o scripts bash en el formulario, envíe el formulario y vea el resultado que se muestra en la página web.

Precaución

Tenga en cuenta que ejecutar comandos arbitrarios a partir de la entrada del usuario puede plantear riesgos de seguridad, así que tenga cuidado y desinfecte las entradas adecuadamente en un entorno de producción.

Artículos relacionados en

By admin

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *