Beiträge von Kaliber

    da ich mir unsicher bin ob solche Systeme so überhaupt funktionieren können.

    Oh ja, das tuen sie, sei unbesorgt :)



    Ich logge bereits alles, schaut es euch bitte an:

    Das ist nicht einmal im Ansatz "alles" xD


    1. Lade crashdetect und schau in den server_log, falls der Server nochmal crasht.
    2. Wie rufst du AddAuftrag auf?
    3. Nutze nicht strmid, um Strings zu beschreiben, nutze dafür format:
    C
        format(Auftrag[i][a_autor],MAX_PLAYER_NAME+1,autor);
        format(Auftrag[i][a_description],30,titel);
        format(Auftrag[i][a_auftragtext],256,auftragtext);

    Ausgenommen SQL Injection, WBB 5.2 ist gehe ich mal stark davon aus, gegen SQLI geschützt

    Es gibt so krasse SQL-Injections oder generell Cross-Site-Scripting, davor ist nicht mal google geschützt.


    Gibt da immer wieder mal 0-Day Exploits, die publiziert und verbreitet werden von Forschern :)



    Nur mal aus reiner Neugier gefragt, verwendet ihr Captchas zum Registrieren?

    Aber der User der die Seite anzeigt, hat ja nicht die gleiche rechte wie ein normaler.

    Das funktioniert anders.


    Du startest ja deinen Webserver, und die rechte, die dieser Webserver hat, diese Rechte hat das PHP Skript.


    Das ist unabhängig vom User, der da iwas auf der Seite macht, es geht einzig und alleine um den Prozess, wie z.B. apache gestartet wurde. (also z.B. von welchem User dieser Prozess gestartet wurde. Wurde apache von einem root user gestartet, hat auch das PHP Skript root rechte)


    Wenn nicht genügend rechte vorhanden sind, um ein .sh Skript auszuführen, kannst du natürlich diese Rechte anpassen.

    Entweder über einen zusätzlichen command oder über eine separate ssh connection.

    Also um sowas zu realisieren, je nachdem ob das Skript einen Wert zurückgibt oder nicht, kannst du das so machen:


    PHP
    $command = escapeshellcmd('bash test.sh');
    $output = shell_exec($command);
    echo $output;


    Kann man eventuell den Benutzer so einschränken, dass der nur eine Datei ausführen darf ?

    Kannst ja angeben, welche Datei nur ausgeführt werden darf und ob der User die Rechte dafür hat.


    Kannst du ja alles über PHP absichern, da das ja eh server site ist.

    for(new i=1;i<MAX_SLOTS;i++)

    Wieso startest du manchmal deine Schleife bei 1?


    FindClosestVeh(playerid)

    Das findet dir nicht das nähste Vehicle, sondern, dass das den niedrigeren Index hat, wenn beide nur 3 SA-Einheiten von dir entfernt sind.



    Also die Idee ist ja gut und schön. Schöner hätte ich es gefunden, wenn du die Funktionalität von deinem System etwas mehr ausgelagert hättest, so dass man es direkt als Include nutzen könnte.


    So ist das jetzt natürlich schwer, weil du alles zusammengewurschtelt hast, das macht den Code nicht nur unübersichtlicher, sondern auch natürlich jetzt schwerer Fehler zu finden.

    was ist ressourcen schonender? ein array oder einfach doppelte Zeilen (in dem Fall 2x50)

    ...das spielt hier keine Rolle.

    Der Übersicht wegen, solltest du ein Array und eine Schleife verwenden.


    Das mit der vehicle-Info kannst du verkürzen und zwar so:


    Sollte oder kann ich überhaupt beides nutzen, je nach Bedarf anders an verschiedenen Stellen? oder ist das dann doppelt definiert mit dem enum.

    Im enum schreibst du nur pVehicleID[MAX_VEHICLE_SLOTS], alles Andere für die Vehicles haus du raus.


    Um es zu speichern:


    pInfo[playerid][pVehicleID][0], pInfo[playerid][pVehicleID][1], pInfo[playerid][pVehicleID][2], pInfo[playerid][pVehicleID][3], pInfo[playerid][pVehicleID][4]


    So kannst du jeweils auf die 5 Indizes zugreifen :)


    Und in deinem ocmd test Command hast du:


    pInfo[playerid][pVehicleID[1]], wenn dann müsste es: pInfo[playerid][pVehicleID][0] sein. (Das fängt bei 0 an, nicht bei 1.)

    Zumal war halt der Array Index an der falschen Stelle.


    Aber du müsstest halt noch prüfen, ob das Fahrzeug nicht 0 ist, ergo:


    GetVehicleName, kannste z.B. hier her bekommen: https://forum.sa-mp.com/showthread.php?t=566775


    Oder du hast natürlich schon so eine Funktion.



    Falls er btw ein neues Auto kaufen mag, musst du einen leeren index finden:


    Hey Leute,


    ich wollte euch nur mal vorwarnen, vielleicht ist es bei dem Ein oder Anderen vorbei gegangen.


    Vielleicht kennen ja einige Leute den guten alten Siraj, der so machine learning Videos auf YouTube macht.


    Hat sich jetzt rausgestellt, dass der Typ ein krasser Scammer & Abzocker ist, in meinen Augen gehört er verhaftet, aber entscheidet selbst:


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.