Bitte mal das crashdetect Plugin laden und den server.log posten ![]()
Beiträge von Kaliber
-
-
Es wird dir keiner helfen Hacked by Crimemarket Pwned, da wir nicht wissen, wo jetzt das Problem ist.
In welchen Zeilen treten genau die Fehler auf, wie sieht der Code aus.
Was passiert, was soll passieren...
-
Gibt tatsächlich einige Möglichkeiten das zu realisieren, ein guter Weg ist denke ich NAudio
Die haben auch bereits ein Demo Skript, welches Audio aufnimmt und per UDP/TCP versenden kann (ich empfehle dir UDP!): https://github.com/naudio/NAud…AudioDemo/NetworkChatDemo
Viel Spaß

-
Hatte neulich erst die gleiche Umfrage gemacht: [UMFRAGE] Wer spielt eigentlich noch SA:MP?
Das Ergebnis war nicht sehr vielversprechend!

-
Es kommt immer NULL zurück,
Dann ist wohl etwas falsch mit dem Query...
Probiers mal so:
PHP
Alles anzeigen<?php header('Content-Type: text/json'); define('DB_SERVER', 'localhost'); define('DB_USERNAME', 'globalban'); define('DB_PASSWORD', 'globalban'); define('DB_NAME', 'globalban'); $dbh = null; try { $dbh = new PDO('mysql:host='.DB_SERVER.';dbname='.DB_NAME, DB_USERNAME, DB_PASSWORD); if($dbh === true) { foreach ($dbh->query('SELECT * globalban') as $row) { print_r($row); } } } catch (PDOException $e) { print "Error!: " . $e->getMessage() . '<br/>'; die(); } // Wenn kein Eintrag vorhanden ist if(!isset($_GET['ip'], $_GET['playerLicense'])) //usw... { $json = array( [ 'status' => 'Ok', ], ); echo json_encode($json); exit; } $ip = $_GET['ip']; $playerLicense = $_GET['playerLicense']; $playerSteam = $_GET['playerSteam']; $playerXbl = $_GET['playerXbl']; $playerLive = $_GET['playerLive']; $playerDisc = $_GET['playerDisc']; //Wenn Parameter übergeben werden if(!empty($ip) && !empty($playerLicense) && !empty($playerSteam) && !empty($playerXbl) && !empty($playerLive) && !empty($playerDisc)) { $sth = $dbh->prepare("SELECT * FROM `globalban` WHERE `ip`=? AND `playerLicense`=? AND `playerSteam`=? AND `playerXbl`=? AND `playerLive`=? AND `playerDisc`=? LIMIT 1"); $sth->execute(array($ip,$playerLicense,$playerSteam,$playerXbl,$playerLive,$playerDisc)); $row = $sth->fetch(PDO::FETCH_OBJ); print_r($row); //Gib dir das doch mal aus, was steht da denn drinnen?! $json = array( 'status' => 'Found', 'result' => [ 'ip' => 'Redacted', 'License Hash' => $row->playerLicense, 'Steam ID' => $row->playerSteam, 'XBox Live ID' => $row->playerXbl, 'Live ID' => $row->playerLive, 'Discord ID' => $row->playerDisc, ], 'reason' => [ 'Ban Reason' => $row->banReason, ], ); echo json_encode($json); //Wenn Parameter Leer sind } else { $json = array( [ 'error' => 'Only PostRequest Allowed :(', ], ); echo json_encode($json); } -
Okay, aber wie machst du denn den Aufruf?
Nutzt du jetzt POST oder GET?
Denn zum einen machst du in LUA einen Post Aufruf, aber die URL und im PHP Skript nutzt du ja $_GET, anstatt $_POST.
Mit dem print_r kannst du dir ja ausgeben, was denn nun eigentlich beim Server ankommt und das mal debuggen...
-
Die Warnings sagen nur, du musst im Parameter der Funktion ein const String übergeben.
Also schreib einfach const key[], anstatt key[].
Welches wäre momentan die beste alternative zu dini
MySQL

-
Joa, aber das sieht mir nach schlechtem Skripting aus und nicht nach dem Fehler vom Compiler

Musst die einzelnen Zeilen mal durchgehen...
-
Und du nutzt auch sicher das aktuellste fixes.inc? https://raw.githubusercontent.…mp-fixes/master/fixes.inc
Prüfe auch, dass du die richtige Pawno.exe öffenst.
Ansonsten ist das sehr merkwürdig, ich kann das nicht nachstellen, bei mir funktioniert das einwandfrei.
-
NoxiZIII Du verwendest vermutlich den falschen Compiler.
Du musst diesen hier nutzen: https://github.com/pawn-lang/compiler/releases
Und diese Includes: https://github.com/pawn-lang/samp-stdlib
-
Ich habe eine Middleware (falls man das auch so bei Vue nennt), welche prüft, ob man angemeldet ist
Ich weiß nicht, wie hier der Code dafür aussieht. Aber vermutlich prüfst du gegen den LocalStorage, ob da eine Variable gesetzt ist. Und da der LocalStoarge beim Client liegt, kann dieser natürlich sehr einfach manipuliert werden.
Muss ich bei jedem Aufrufen einer Seite auch prüfen, ob dieser einen gültigen Hash hat? Also immer wieder das Backend ansprechen?
Genau, da das ja einfach manipulierbar ist und somit "theoretisch" jeder auf die Seite kommen kann, bedarf es einer Backend Prüfung, ob diese Person wirklich darauf Zugriff hat.
-
Wie genau mach ich das, bzw. wie verläuft die Prüfung? Alles ist ja beim Client einsehbar und veränderbar. Dann kann ich doch auch die Prüfung des Token/Hashes einfach umgehen.
Der Token/Hash liegt beim Client, aber die Prüfung findet natürlich Serverseitig statt, mittels z.B. NodeJS

Bei Verifizierungsverfahren kommt man nicht drum herum eine Serverseite zu haben

-
wodurch der Code den der Client am Ende erhält bundled und minified ist, wodurch es gar nicht mehr der "originale" Source Code ist und dadurch auch schwerer zu lesen ist.
Das mag durchaus sein, allerdings gibt es Seiten, wodurch das minified rückgängig gemacht werden kann. Zudem bleiben Strings erhalten und so ist es schon möglich einige Eindrücke zu erhalten...
Primär ging es ja auch nur um die Möglichkeit, ob es möglich wäre, nicht, ob es trivial ist

-
ich bräuchte einmal einen kleinen Snippet für ein PostRequest via Lua, das ganze soll eine Abfrage an einen Server darstellen und dieser liefert auch ein Ergebniss zurück.
Was ist denn das Problem?
Wenn der Request funktioniert und ein Ergebnis liefert, ist doch alles gut oder nicht?
Worauf genau willst du denn eine Antwort oder einen Hinweis...deine Frage geht in deiner Erklärung irgendwie unter

-
Ich versuche mich mal an den Fragen:
Habe ich das richtig verstanden: Vue ist eine reines Frontend-Framework?
Man benötigt also, nicht wie in PHP bspw., immer eine Backend-Schnittstelle, meistens eine (selbst geschriebene) REST-Full API Schnittstelle o.ä.?Ja, Vue JS ist ein Frontend-Framework. Sprich es vereinfacht dir das Seitenerstellen mit Hilfe von JS. Dadurch kannst du Module und Templates erstellen und diese immer wieder verwenden und kompliziertere Logiken einfacher gestalten. (Wobei VUE inzwischen auch SSR (Server Side Rendering) kann, aber trotzdem bleibt es natürlich ein Frontend-Framework hier ein Artikel mal dazu: https://vuejs.org/guide/scaling-up/ssr.html)
Die zweite Frage verstehe ich nicht ganz. VUE basiert auf Javascript und das kann direkt beim Client ausgeführt werden, also ja, du brauchst kein Backend, das würde alles in einer .html Datei so ausgeführt werden können.
Ist der ganze Script-Code für den Nutzer einsehbar? Ich konnte auch im Build-Status meinen Code einsehen. Bedeutet also, ich kann keine lokale Sicherheitsabfrage stellen. Diese sind ja dann einfach im Quellcode einsehbar?
Als Beispiel: Ich möchte für ein sehr kleines Projekt einen Login anbieten, aber dafür keine Nutzerdatenbank anlegen. Die Anmeldung läuft über statisch angelegte Werte - die dann im Quellcode lesbar sind. Gibt es hierfür eine andere Methode?Ja, alle JS Logiken sind immer einsehbar, da sie am Client ausgeführt werden und nicht am Server.
Ja, dafür brauchst du ein Backend-System wie z.B. NodeJS, das läuft ja dann am Server und nicht am Client.
(Als Hinweis: Ich nutze auch Vue-Router und Vuex) Eine Variable im Storagemanager von Vuex handelt den Status der Anmeldung. Kann der Nutzer diese nicht einfach manipulieren und ist somit dann auch angemeldet?
Theoretisch ja, aus diesem Grund sollte natürlich auch immer ein Token/Hash generiert werden, womit abgeglichen werden kann, dass man wirklich angemeldet ist.

-
Externer Inhalt www.youtube.comInhalte 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.
Macht euch das auch so fertig?
Kickt anders rein.
-
Geht nur wenn jemand im Fahrzeug ist, was ja mein problem ist.
Wie gesagt, dann musst du in CreateVehicle die Angle setzen
Bzw Fahrzeug zerstören und wieder erstellen.Hallo,
ich brauche mal eure hilfe stehe auf dem schlauch
er soll wenn die strings gleich sind 0 returnen und wenn nicht 1 jetzt returnt er jedoch immer 1 warum
Drehe die Logik:
Aber prüfe vorher irgendwo, dass die Strings nicht leer sind, sonst kommt auch immer 0 heraus!!!
Bzw ergänze diese Prüfung!
-
dann setze ich es auf eine Position die vorab gespeichert wurde
Du setzt mit SetVehicleToRespawn es auf die Position, auf der du es mit CreateVehicle erstellt hattest.
Wie @Grosim vermutlich meinte, kannst du einfach SetVehicleZAngle für die Rotation verwenden.
Alternativ kannst du auch einfach beim CreateVehicle, den a Parameter richtig setzen, dann genügt SetVehicleToRespawn vollkommen

-
Grüße vom Elite Treff 2022, heute wurde der Bodensee per Motorboot erkundet und zukünftige Investitionen ausgekundschaftet
Den Donateorn sei Dank

-
ID 0 wird auch gespeichert daher ist die Abfrage ob <= 0 aus meiner Sicht sinnlos.
Ah okay, das wusste ich nicht, dann mach es so:
C
Alles anzeigengetFrakName(playerid) { new frak[64]; for(new i; i < sizeof(FrakInfo); i++) { if(PlayerInfo[playerid][pFraktion] == FrakInfo[i][frak_id]) { strcat(frak,FrakInfo[i][frak_name]); return frak; } } strcat(frak,"Unbekannt"); return frak; }//Edit:
Ah, mach es so.
Pawn macht da dumme Sachen mit dem Pointer

//Edit2:
Nutze strcat, bei der direkten Zuweisung, kann es zu Fehlern kommen...