mickdermack: Habe mir das nun nochmal angeschaut und mit dem Passwort stimme ich zu, dass es sinnlos war, daher habe ich es entfernt.
Audifire: Nein, hast du nicht.
mickdermack: Habe mir das nun nochmal angeschaut und mit dem Passwort stimme ich zu, dass es sinnlos war, daher habe ich es entfernt.
Audifire: Nein, hast du nicht.
Wirklich nicht schlecht, aber es ist meiner Meinung nach nicht gerade "Best Practice", ein Passwort zu escapen, das anschließend mit MD5 gehasht wird.
Außerdem ist, wenn ich das richtig verstanden habe (hatte jetzt weder Zeit noch Lust, es zu testen), in den Save-Funktionen in der Theorie eine SQL-Injection möglich, da der Username unescapt aus der Datenbank geholt wird (wie er auch sollte), aber bei den Save-Funktionen nicht escapt wird.
Dokie:
Gerne: http://wiki.multitheftauto.com/wiki/Anti-cheat_guide
Ein paar Verbesserungen gibt es jede Version. Ungesichert war, wohl schon seit Ewigkeiten, keine.
Ich tippe auch auf Backdoor oder "Devcommand". Für Sachen wie SQL-Injection braucht es auch ein gewisses Minimum an Intelligenz.
Objekt auf einer durchschnittlichen Höhe mit Alpha 0 spawnen. Dann, wie Jake (WCF::getDB()) geschrieben hat, wenn das eingestreamt wird, die Höhe bestimmen und es sichtbar machen (Alpha hochsetzen). Wo liegt das Problem?
Eine Möglichkeit wäre, beim Start die X- und Y-Koordinaten festzulegen, und erst wenn ein Spieler in die Nähe dieser Koordinaten kommt, das Item zu spawnen.
Sorry, falls ich etwas unfreundlich oder gar ( Sarcasm aggressiv rübergekommen bin, war nicht meine Absicht.
Suche ich nach einer Angriffsfläche? Ich würde eher sagen, ich möchte ein oder zwei Verbesserungsvorschäge leisten. Und Standards nicht zu entsprechen weil es "so auch funktioniert", finde ich in der Webentwicklung fehl am Platz.
Nein, weil es kein Konstruktor ist. Die Main-Methode wird nur aufgerufen, wenn die jeweilige Klasse als Main-Klasse "ausgeführt" wird.
Außerdem ist es, glaube ich, nicht empfehlenswert, das Look and Feel im Konstruktor des Frames zu setzen, da da evtl. schon Dinge initialisiert wurden, die so das Standard Look and Feel verwenden würden.
Es entspricht nicht dem HTML-Standard, wie schon gesagt. Das funktioniert, weil die meisten Browser gnadenhalber ein Body-Tag aufmachen, wenn sie irgendwelche Tags vor dem Doctype herumirren sehen.
Netbeans generiert bei JFrame Forms eine Main-Methode, die das Look'n'Feel setzt.
Aus der Main-Methode der Frame-Klasse:
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(C_Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(C_Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(C_Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(C_Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
Alles anzeigen
Er meint damit das dieses Teil wo "Live-Chat" steht, nicht rechts sein soll sondern unten angebracht werden soll. (So habe ich es verstanden)
Nein, das meinte ich nicht. Die angehängte Grafik sollte es ausreichend erklären.
Dadurch das meine Form nicht die die Hauptklasse ist
wird mir die Form nicht angezeigt. Ich muss explizit aus
der Hauptklasse meine Form sichtbar machen.
Das hat damit nichts zu tun. Die Hauptklasse muss, ob es jetzt die Frame-Klasse ist, oder eine andere, das Frame sichtbar machen. Nur um die Thread(un)sicherheit von Swing ging es mir hier.
Was macht eigentlich der LiveZilla-Code über dem DOCTYPE?
Der sagt ja extra noch, dass man ihn in den Body reintun soll:
(Ganz abgesehen davon, dass es gegen Standards verstößt, den außerhalb von Head oder Body zu platzieren)
Eine weitere Sache:
In dem LiveZilla-Code werden http://-URLs verwendet, auch wenn man die Website über HTTPS aufruft, das führt dazu, dass die meisten Browser der Site die Verschlüsselung "aberkennen" (wie z.B. Firefox, der statt einem Schloss die für unverschlüsselte Übertragungen verwendete Weltkugel anzeigt, und wenn man draufklickt auch darauf hinweist, dass die Verbindung nur teilweise verschlüsselt, und nicht gegen Abhören gesichert ist), da damit Requests zum Support-Vhost über unverschlüssteltes HTTP geschickt werden. Einen Versuch wäre es wert, die URLs von http:// auf https:// oder einfach nur // zu ändern, da bei https:// (logischerweise) immer HTTPS verwendet wird, und bei // das Protokoll, über das die Haupt-Site geladen wurde.
Vom Programmiertechnischen her:
Eigentlich dürfen Aufrufe in den SWING-Bereich hinein nicht aus anderen Threads erfolgen als aus dem Event-Dispatcher-Thread. java.awt.EventQueue.invokeLater(Runnable) wäre das Mittel der Wahl. Netbeans generiert auch ein Beispiel von so etwas zu jedem JFrame Form:
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new C_Frame().setVisible(true);
}
});
Ich glaub der Form-Editor von Netbeans ist dazu da, benutzt zu werden... So hat ein JFrame Form auch ein Property "title".
public static String getExtensionFromFile(String filePath) {
return filePath.substring(filePath.length() - 4, filePath.length());
}
Nein, das ist nicht die Erweiterung. Die Erweiterung ist der Teil nach dem letzten Punkt im Dateinamen, was nicht notwendigerweise die letzten 3 Zeichen sind. Wenn man nur 3 Zeichen lange Erweiterungen hat, ok.... Ganz abgesehen davon könnte man sich das ", filePath.length()" sparen, da es eine Überladung der Methode mit nur dem startIndex als Parameter gibt, wo sich der resultierende String über den gesamten restlichen String erstreckt.
Und Shape hat einen Ausflug in die Reflection gemacht, oder so...
Spaß beiseite, ein simples
reicht nicht?
Lässt sich zu
vereinfachen, was in meinen Augen auch etwas schöner ist.
könnte man durch
ersetzen, sodass der Durchschnittsuser die Nachrichten zu Gesicht bekommt, auch wenn er es nicht in der Konsole ausführt.
Kein Problem, aber zum Bedanken gibt es die Buttons "Bedanken" und sollte es eine geben, als hilfreichste Antwort markieren.
Erstens ist das der alte Fehler, zweitens funktioniert der Teil, den du gepostet hast, bis darauf, dass man noch den Text anhängen könnte, sonst sieht man zwar, dass derjenige Werbung machen wollte, aber nicht, was er geschrieben hat.
So wie:
Der Player heißt nach wie vor thePlayer, nicht "source"
local nummer = getElementData(source, "pHandynummer")
-- und
outputChatBox("[Werbung] von "..getPlayerName(source)..": [HANDY: "..nummer.." ]", getRootElement(), 100, 255, 100)
sollten zu
local nummer = getElementData(thePlayer, "pHandynummer")
-- und
outputChatBox("[Werbung] von "..getPlayerName(thePlayer)..": [HANDY: "..nummer.." ]", getRootElement(), 100, 255, 100)
werden.