Code – die besten Beiträge

Warum funktioniert Flask und Websockets nicht?

Hallo,

ich wollte meinen Python- Code mit meinem HTML- Code verbinden, damit, wenn mein Wake- Word "Luna" erkannt wurde, der Hintergrund der Datei output.html seine Farbe ändert und rot wird. Hier ist der Code:

Python:

from flask import Flask, render_template
from flask_socketio import SocketIO

app = Flask(__name__)
socketio = SocketIO(app)


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


@socketio.on('connect')
def handle_connect():
    print("Client verbunden")


@socketio.on('disconnect')
def handle_disconnect():
    print("Client getrennt")


@socketio.on('change_background')
def change_background(color):
    print("Hintergrundfarbe ändern:", color)
    socketio.emit('background_changed', color)

HTML /CSS:

... body {
  background-color: black;
  margin: 0;
  padding: 0;
  text-align: center;
  overflow-x: hidden;
  overflow-y: hidden;
    -webkit-user-select: none; /* Für WebKit-Browser */
    -moz-user-select: none; /* Für Mozilla-basierte Browser */
    -ms-user-select: none; /* Für Microsoft Edge */
    user-select: none;
}  
</style>
</head>
<body>

JavaScript:

... // FLASK
    var socket = io();

    socket.on('connect', function() {
        console.log('Verbunden mit dem Server');
    });

    socket.on('disconnect', function() {
        console.log('Verbindung zum Server getrennt');
    });

    socket.on('background_changed', function(color) {
        console.log('Hintergrundfarbe geändert:', color);
        document.body.style.backgroundColor = color;
    });
</script>
</body>
</html>
    """
    with open("output.html", "w") as html_file:
        html_file.write(html_content)

    return "output.html"

Wenn ich den Code aber ausführe und "Luna" sage, ändert der Hintergrund nicht seine Farbe. Woran liegt das?

Freundliche Grüsse

HTML, Webseite, JavaScript, HTML5, Code, Programmiersprache, Python, Frontend, Python 3, Pycharm, Flask

Warum funktioniert mein Websockets- Server nicht?

Hallo,

ich möchte mithilfe von Websockets über JS auf Python zugreifen, das ist mein Code:

Python:

def send_message_to_browser(message):
    url = "http://localhost:8000/?wake_word=luna"
    try:
        response = requests.get(url)
        if response.status_code == 200:
            print("Nachricht an den Browser gesendet:", message)
        else:
            print("Fehler beim Senden der Nachricht an den Browser")
    except requests.RequestException as e:
        print("Fehler beim Senden der Nachricht an den Browser:", e)

JavaScript:

// WEBSOCKET
var socket = new WebSocket('ws://localhost:8000/?wake_word=luna');

// Debugging-Ausgabe zur Überprüfung der Verbindung
console.log("WebSocket wird hergestellt...");

// Ereignisbehandlungsfunktion für Verbindungsherstellung
socket.onopen = function(event) {
    // Debugging-Ausgabe zur Bestätigung der erfolgreichen Verbindung
    console.log("WebSocket-Verbindung hergestellt.");
};

// Ereignisbehandlungsfunktion für Nachrichtenempfang
socket.onmessage = function(event) {
    // Nachricht vom Server erhalten
    var message = event.data;

    // Debugging-Ausgabe
    console.log("Nachricht empfangen:", message);

    // Überprüfen, ob die empfangene Nachricht "luna" ist
    if (message === "luna") {
        // Ändern der Hintergrundfarbe der Div mit der ID "luna_wake_word" auf Rot
        $('#luna_wake_word').css("background-color", "red");
    }
};

// Fehlerbehandlungsfunktion für WebSocket-Verbindung
socket.onerror = function(error) {
    console.error('WebSocket Error: ', error);
};

// Schließen der WebSocket-Verbindung
function closeWebSocket() {
    socket.close();
}

Doch immer, wenn ich das Programm starte und in die Konsole schaue kommt dieser Fehler:

WebSocket wird hergestellt...

index.html?_ijt=bj6j8vutnl8e16bhrbgfck9djq&_ij_reload=RELOAD_ON_SAVE:1929 WebSocket connection to 'ws://localhost:8000/?wake_word=luna' failed: 

(anonym) @ index.html?_ijt=bj6j8vutnl8e16bhrbgfck9djq&_ij_reload=RELOAD_ON_SAVE:1929

index.html?_ijt=bj6j8vutnl8e16bhrbgfck9djq&_ij_reload=RELOAD_ON_SAVE:1957 WebSocket Error: Event {isTrusted: true, type: 'error', target: WebSocket, currentTarget: WebSocket, eventPhase: 2, …}

Kann mir jemand helfen?

Freundliche Grüsse

HTML, Webseite, JavaScript, HTML5, Code, Programmiersprache, Python, Webentwicklung, Python 3

Hintertür in xz gefunden - Kann man überhaupt noch einer Software vertrauen, die man nicht selbst geschrieben hat?

xz ist ein unter Linux weit verbreitetes Datenkompressionsformat. Ein Entwickler der Referenzimplementierung xz-utils (https://github.com/tukaani-project/xz) hat vor kurzem eine Hintertür (CVE-2024-3094) eingebaut, mit der in manchen Linux Distributionen sshd kompromittiert werden kann. Bisher wurde noch kein CVE Score zugewiesen, aber ich schätze diese Hintertür als sehr kritisch ein. Bestimmt werden in den nächsten Tagen Heise, Golem, etc. darüber berichten, und vielleicht sogar die Mainstream Medien.

Die Hintertür wurde gefunden, weil der Schadcode Performanceprobleme in sshd verursacht hat. Glücklicherweise sind die betroffenen xz Versionen noch nicht weit verbreitet, da Pakete in vielen Distributionen nur sehr langsam aktualisiert werden. In Arch Linux wurde bereits eine betroffene xz Version ausgeliefert, aber da sshd in Arch Linux kein gz verwendet, ist ein Angriff in diesem Fall nicht möglich.

Dennoch ist dieser Vorfall äußerst besorgniserregend, da die Hintertür von einem xz Entwickler eingebaut wurde, der bereits mehrere Jahre am Projekt beteiligt war und als vertrauenswürdig galt.

Grundsätzlich galt Open Source Software als weniger anfällig für Hintertüren als Closed Source Software. Man ging davon aus, dass Hintertüren in Open Source Software gefunden werden, bevor sie überhaupt veröffentlicht werden, da der Code von vielen unabhängigen Experten überprüft wird. Ein häufig genanntes Beispiel, das diese These untermauern soll, ist ein 2003 gescheiterter Versuch, eine Hintertür in den Linux Kernel einzubauen.

Der aktuelle Vorfall zeigt, dass es sehrwohl möglich ist, Schadcode unentdeckt in weit verbreitete Open Source Software einzubauen. Dies wirft die Frage auf, inwieweit man fremder Software überhaupt noch vertrauen kann.

Seid ihr selbst von dieser Hintertür betroffen? Wie schützt ihr euch? Habt ihr Zweifel an der Sicherheit von Open Source Software? Denkt ihr, dass dieser Vorfall zu einem Umdenken bei der Vertrauenswürdigkeit von Open Source Entwicklern führen wird?

Weitere Informationen
  • https://lwn.net/Articles/967180/
  • https://lwn.net/ml/oss-security/20240329155126.kjjfduxw2yrlxgzm@awork3.anarazel.de/
  • https://www.cisa.gov/news-events/alerts/2024/03/29/reported-supply-chain-compromise-affecting-xz-utils-data-compression-library-cve-2024-3094
  • https://archlinux.org/news/the-xz-package-has-been-backdoored/
  • https://arstechnica.com/security/2024/03/backdoor-found-in-widely-used-linux-utility-breaks-encrypted-ssh-connections/
  • https://gist.github.com/thesamesam/223949d5a074ebc3dce9ee78baad9e27
Computer, Software, Linux, Sicherheit, IT, Backdoor, Code, Hacker, Hackerangriff, Informatik, IT-Sicherheit, Open Source, Softwareentwicklung, ssh, Vertrauen, Vertrauensbruch, Exploit, Exploits, IT-Sicherheitsexperte, Schwachstellen, vertrauenswürdig, sshd

Warum kann ich den Typ "InputManager" in Unity nicht nutzen ohne Error?

Hallo an alle,

ich bin sehr neu im Bereich Spieleentwicklung mit Unity und möchte ein simples Spiel programmieren, in dem man verschiedene Räume gestalten kann. also hab ich mir ein Tutorial herausgesucht ( https://www.youtube.com/watch?v=l0emsAHIBjU&list=PLcRSafycjWFepsLiAHxxi8D_5GGvu6arf ) in dem dies erklärt wird. Bei 3:47 benutzt er den Typ "InputManager" im zweiten SerializeField.

Wenn ich jedoch das Script so kopiere wie er es im Video schreibt, zeigt mir Unity einen Fehler bei "InputManager" an. Da er im Video sagt, dass er das alte Input System nutzt hab ich dieses auch eingestellt.

Da ich nicht wirklich viel Ahnung von dem habe was er da schreibt, hab ich im Internet nach einer Lösung gesucht, doch scheinbar nutzt niemand diesen Typ. Vielen Dank im Voraus für die Antwort

P.S.: Ich habe ein Bild von Visual Studio eingefügt in dem auch der Error zu sehen ist.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class PlacementSystem : MonoBehaviour
{
    [SerializeField]
    private GameObject mouseIndicator;
    [SerializeField]
    private InputManager inputManager;


    private void Update()
    {
        Vector3 mousePosition = inputManager.GetSelectedMapPosition();
        mouseIndicator.transform.position = mousePosition;
    }
}
Bild zum Beitrag
Software, C Sharp, Code, Error, Fehlerbehebung, Programmiersprache, Spieleentwicklung, Unity 3D, Visual Studio, Fehlermeldung, input, Unity

Meistgelesene Beiträge zum Thema Code