Suchergebnisse

Suchergebnisse 1-30 von insgesamt 417.

  • Benutzer-Avatarbild

    Ich würde den PK hinzufügen (als Auto-Increment). Kostet praktisch nix und in gewissen Situation ist besser ihn zu haben als ihn zu brauchen, z.B.:- einzelnen/doppelten Datensatz löschen/ändern - eindeutige Sortierung - bestimmte Situation mit Trigger-Programmierung - Frameworks/Tools welche einen PK voraussetzen Der Delete+Insert-Ansatz ist programmiertechnisch meist deutlich einfacher zu realisieren, als die Änderungen abzuspeichern. Wenn man das ganze in einer Transaktion kapselt, finde ich d…

  • Benutzer-Avatarbild

    Ist sicher nicht die schönste Lösung, aber mit MySQL/MariaDB sollte es so klappen (Pseudo-Code): Quellcode (12 Zeilen) PS: Durch gezieltes Falsch-anmelden kann man den Login leicht für alle Nutzer lahmlegen. Daher wäre, ja nach Service, weitere Maßnahmen wie Captcha, IP-Abfrage, etc. unter Umständen sinnvoll.

  • Benutzer-Avatarbild

    Ah, ich habe die Frage falsch verstanden. Zum Verständnis, das Vorgehen ist: 1) user und permission erstellen (mit PK) 2) Tabelle user_permission mit PK (aber ohne den anderen Index) erstellen 3) die beiden FKs definieren Als Ergebnis wurde der KEY `cstr-user_permission1` (`permission_id`) angelegt. Und die Frage ist nun, warum kein KEY `cstr-user_permission2` (`user_id`), richtig? Zitat von https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html: „In the referencing table, there …

  • Benutzer-Avatarbild

    Innerhalb des CREATE TABLE `user_permission` wird mit KEY `cstr-user_permission1` (`permission_id`) ein Index erstellt. Der taucht dann auch in phpMyAdmin auf. Die beiden FKs sollten dann unter Structure -> Relation view auftauchen. Ein Foreign Key setzt einen Index voraus, erstellt aber nicht notwendigerweise einen. Die Doku schreibt: Zitat: „MySQL requires indexes on foreign keys and referenced keys [...]. In the referencing table, there must be an index where the foreign key columns are liste…

  • Benutzer-Avatarbild

    Passiert das zufällig in einer Schleife mit var i;? Falls ja, lautet das Google-Stichwort hier "Closure". Wenn nur aktuelle Browser unterstützt werden müssen, sollte es mit let wie erwartet funktionieren, also: JavaScript-Quellcode (3 Zeilen) Bei älteren Browser hilft z.B. dieses Konstrukt: JavaScript-Quellcode (5 Zeilen) Abhängig vom Code gibt es sicher noch bessere Ansätze. Edit: Sollte natürlich var in der zweiten Schleife sein.

  • Benutzer-Avatarbild

    Schöne Remote Code Execution Sicherheitslücke. Alles was man in der Programmierung von extern übergeben bekommt, muss man valideren. Beim Lösungsansatz von @SpaceyX wäre PHP-Quellcode (1 Zeile) ein entsprechender Anfang. Unter dem Begriff "Routing" sollte man zur Ausgangsfrage im Internet auch gut etwas finden können.

  • Benutzer-Avatarbild

    Geht es eigentlich darum, eine gegebene Zahl zu überprüfen oder eine zu generieren?

  • Benutzer-Avatarbild

    Wenn a und b innerhalb der zusätzlichen Bedingung eindeutig sind, müsste die Bedingung 2x hinzugefügt werden, also: SQL-Abfrage (9 Zeilen) Wenn man mehr Kontext hätte, gibt es ggf. auch bessere Lösungen...

  • Benutzer-Avatarbild

    SQL-Abfrage (3 Zeilen) Voraussetzung: Kombination von a und b ist eindeutig.

  • Benutzer-Avatarbild

    Eine nicht-Programmier-Lösung wäre, den Dienst unter einem speziellen Benutzer ausführen zu lassen und nur diesen entsprechende Rechte auf die Config-Datei zu geben. (Vorausgesetzt nicht jeder hat Admin-Rechte, Backup ist verschlüsselt, kein "physischer" Zugriff, etc.)

  • Benutzer-Avatarbild

    Abhängig von der Struktur wäre das Null-Object-Pattern eine Möglichkeit derartige Überprüfungen zu vermeiden. Edit: Wenn weiterhin "nicht-Objektbezogene Funktionen" aufgerufen werden sollen, müsste der Code allerdings erst entsprechend umgestaltet werden. Von daher vermutlich nicht das was gesucht ist, aber vielleicht hilft das Stichwort ja wen anders :)

  • Benutzer-Avatarbild

    MySQL Delete Row

    3daycliff - - Daten(bank)programmierung

    Beitrag

    sql_safe_updates? Default ist laut dev.mysql.com/doc/refman/8.0/e…l#sysvar_sql_safe_updates anscheinend 0, wobei das sicher Abhängig von der Distribution ist. Ob MySQL mit aktiviertem Safe-Modus auch DELETE FROM ... WHERE <primary_key_column> = <primary_key_column> akzeptiert?

  • Benutzer-Avatarbild

    Generell würde ich ja raten, sich intensiv mit Grundlagen zu beschäftigen und dann den bestehen Code gründlich einem refactoring zu unterziehen. Hier aber mal ein kleiner Denkanstoß, für die Frage nach den Zeiten (sofern ich das richtig verstanden habe). PHP-Quellcode (14 Zeilen)

  • Benutzer-Avatarbild

    MySQL Delete Row

    3daycliff - - Daten(bank)programmierung

    Beitrag

    Identifier (wie z.B. Tabellen- oder Spaltennamen) können nicht als Parameter gesetzt werden. Und ob etwas bei DELETE FROM tb_room WHERE ?COL= ?VAL passiert, hängt von den Werten ab. Wenn z.B. beide Parameter den gleichen Wert enthalten, werden alle Datensätze in der Tabelle gelöscht. Im Endeffekt ist der Ausdruck dann äquivalent mit DELETE FROM tb_room WHERE x = x. Bei der Where-Klausel sagt der SQL-Standard nämlich nicht, dass bei einem Vergleich eine Spalte dabei sein muss. Auch ... WHERE 1=1 …

  • Benutzer-Avatarbild

    Die Fehlermeldung hat (vermutlich) nichts mit der Funktion bzw. der Datei zu tun. Dein Script packt so viele Daten in den Arbeitsspeicher, dass es an die Grenze von 128 MB kommt. Vermutlich ein oder mehrere große Arrays wo sehr viele Daten drin sind. Um das Problem zu beheben, kann man entweder die Scripte optimieren oder das Limit in PHP höher setzen (php.ini, Eintrag memory_limit). Wobei je nach Anwendung klar sein sollte, das letzteres keine Dauerlösung ist. Und falls das Script von einer grö…

  • Benutzer-Avatarbild

    Vodafon oder Virus oder was?

    3daycliff - - Off-Topic

    Beitrag

    Das ist ja gruselig: Zitat von https://forum.vodafone.de/t5/Störungsmeldungen-Internet-TV/Viren-Warnung/td-p/1854134: „aufgrund der gesetzlichen Regelungen sind wir dazu verpflichtet, Kunden über Schadsoftware-Befall zu informieren (§109a TKG). Mit den Infos wollen wir unsere „infizierten“ Kunden auf ihre Sicherheitslücke aufmerksam machen, aufklären und Hilfestellung bei Säuberung und Schutz an die Hand geben. Mit dieser Meldung haben wir Euch darüber informiert, dass Euer PC, Tablet oder Smart…

  • Benutzer-Avatarbild

    Wie kommst du darauf, dass es ein MD5-Hash ist? MD5 hat 128bit, dein Beispiel-Hash hat aber 160bit (SHA1?). Zur eigentlichen Frage: Den Wert kannst du vermutlich als byte Array bekommen: C#-Quellcode (1 Zeile) Für die Darstellung als Hex-String findest du bei der Suchmaschine deiner Wahl unter "byte array to hex string" sicher etwas.

  • Benutzer-Avatarbild

    Versuch es mal so: PHP-Quellcode (23 Zeilen) PS: Falls $kundennummer und $rechnungsnummer von außen (= dein VB-Programm) an das PHP-Skript übergeben werden, solltest du Prepared Statements verwenden. (Oder die Parameter in PHP zumindest richtig validieren, falls das nicht schon passieren sollte)

  • Benutzer-Avatarbild

    C/C++ zu C# Convertieren

    3daycliff - - Sonstige Problemstellungen

    Beitrag

    Zitat von jvbsl: „[...] Außerdem ist es in C(++) signed, weshalb sbyte[] besser passt als byte[], aber im Speicher steht dasselbe also ists egal.“ Kleine Randnotiz: Ob char signed oder unsigned ist, hängt von der Implementierung ab.

  • Benutzer-Avatarbild

    Naja, die Next(minValue, maxValue)-Methode aus System.Random liefert einen Wert echt kleiner maxValue und nimmt nur einen Int32 entgegen (long hilft also auch nicht direkt). Mit der Anforderung a <= L muss man dann bei dem Ansatz schon +1 rechnen. Das einfachste wäre wohl L < int.MaxValue voraussetzen. Ansonsten könnte man das ganze leicht umschreiben, indem man das +1 aus dem Methodenaufruf heraus zieht: C#-Quellcode (11 Zeilen) Alternativ auf einen anderen Weg die Zufallszahlen bestimmen.

  • Benutzer-Avatarbild

    Welchen Wert hat L und welche Datentypen werden verwendet? System.Random.Next kann glaube ich nut Int32, vermutlich ein Overflow?

  • Benutzer-Avatarbild

    \begin{align*} a \equiv b \mod r,\quad 0 \leq a,b \leq L \quad\Rightarrow\quad & b \in \{r+1, ..., L\}\text{ und } \\ & a = bx + r \text{ mit } x \in \{0, ..., \frac{(L-r)}{b}\} \\ b > L-r \quad\Rightarrow\quad & x = 0 \quad\Rightarrow\quad a = r \end{align*} Für $x > 0% und damit a \neq r$ wähle $b \in \{r + 1, ..., L - r\}$, sofern $r+1 <= L-r$ Zusammen (ungetestet): C#-Quellcode (13 Zeilen)

  • Benutzer-Avatarbild

    Den "klassischen" circular shift den man üblicherweise sieht ist AFAIK immer auf unsigned Integer basierend. Wenn du auch vorzeichenbehaftete Integer unterstützen möchtest, musst du eine saubere Definition liefern. Durch einen uint-cast wird die Interpretation der Bitfolge ignoriert und es werden - wie in dem Schaubild oben - nur die Bits rotiert. Was m.M.n. Sinn ergibt, bedeutet aber halt, dass das Vorzeichen wechseln kann. Zu dem Snippet: Ist wie gesagt für deinen Fall nicht relevant. In C# gi…

  • Benutzer-Avatarbild

    1) Nicht-deterministische Unit-Tests sind in den meisten Fällen wertlos 2) In dem beschriebenen Fall kein Problem, aber falls nicht bekannt zur Info: Bei Int32-Shifts werden in C# stets nur die 5 least significant bits des zweiten Operanden verwendet. D.h. x << y == x << (y & 0x1F), insbesondere x << y == x für y = 32 3) Siehe Post von RodFromGermany

  • Benutzer-Avatarbild

    Mit cmd.ExecuteScalar() bekommst du den Wert der ersten Spalte der ersten Zeile des Abfrageergebnisses, also genau das was du benötigst. Wenn du mit ExecuteReader arbeiten möchtest, führt reader.GetDouble(0) (o.ä.) zum Ziel (Spaltenindex ist 0-basierend). Alternativ kann man der Spalte mit dem aggregierten Wert auch einen Namen geben: SELECT SUM(kosten) AS Summe FROM ....

  • Benutzer-Avatarbild

    Wenn es sich um eine SQL-Datenbank handelt und es dort bit-Operatoren gibt, kannst du dir ggf. auch mit SQL behelfen. Beispiel MySQL (ungetestet): SQL-Abfrage (6 Zeilen)

  • Benutzer-Avatarbild

    Keine Kritik, sondern eher ein Hinweis: Deine Seite verwendet anscheinend github.com/wwwtyro/cryptico. Das Projekt selbst verwendet Code unter diversen Lizenzen (GPL, MIT?, BSD, webtoolkit?, ...). Du solltest sicherstellen, dass Lizenz-technisch alles korrekt ist.

  • Benutzer-Avatarbild

    Bei Komprimierung sollte man schon zwischen lossy und lossless unterscheiden. Natürlich können manche Whitepsaces getrost ignoriert werden, aber halt nicht alle. Im Post #1 und #5 finden sich z.B. ein paar Leerzeichen, die man nicht wegschmeißen will. Bezüglich Attribute: <a onClick="foo('___');"> und <style>.foo { background-image:url("pfad___mit___leerzeichen.png"); }</style>. (Unterstrich hier mal als Leerzeichen interpretieren, weil die hier im Forum bei tt ignoriert werden...) Über die Sinn…

  • Benutzer-Avatarbild

    Zitat von Facebamm: „Edit: aber wo zu will ich im Content zwei mal ein Leerzeichen in folge?“ Auf HTML generell bezogen? Zum Beispiel bei <pre>, <script>, <style>, (allen Attributen), Elemente mit der CSS-Eigenschaft white-space, etc.

  • Benutzer-Avatarbild

    Wenn man es ganz exakt machen möchte, ist checked vermutlich die einfachste Lösung. In den anderen Vorschlägen oben wird auf den ersten Blick z.B. int.MinValue + int.MinValue und uint.MaxValue + uint.MaxValue nicht erkannt.