Hallo, Gast
Du musst dich registrieren bevor du auf unserer Seite Beiträge schreiben kannst.

Benutzername
  

Passwort
  





Durchsuche Foren

(Erweiterte Suche)

Foren-Statistiken
» Mitglieder: 1
» Neuestes Mitglied: Joopi
» Foren-Themen: 379
» Foren-Beiträge: 502

Komplettstatistiken

Benutzer Online
Momentan sind 10 Benutzer online
» 0 Mitglieder
» 5 Gäste
AhrefsBot, Bytespider, DotBot, Semrush, bot

Aktive Themen
Friday - 08:00 CDT: Heavy...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Gestern, 04:52
» Antworten: 0
» Ansichten: 9
Thursday - 12:00 CDT: Not...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
02-05-2024, 08:39
» Antworten: 0
» Ansichten: 7
Thursday - 09:00 CDT: Not...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
02-05-2024, 05:56
» Antworten: 0
» Ansichten: 7
Wednesday - 11:00 CDT: No...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
01-05-2024, 08:36
» Antworten: 0
» Ansichten: 8
Wednesday - 09:00 CDT: No...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
01-05-2024, 05:55
» Antworten: 0
» Ansichten: 6
Firmware-Update Olympus O...
Forum: Fotografie
Letzter Beitrag: Joopi
01-05-2024, 05:55
» Antworten: 0
» Ansichten: 31
Wednesday - 08:00 CDT: No...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
01-05-2024, 05:20
» Antworten: 0
» Ansichten: 5
Wednesday - 06:00 CDT: No...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
01-05-2024, 03:35
» Antworten: 0
» Ansichten: 6
Firmware-Update Panasonic...
Forum: Fotografie
Letzter Beitrag: Joopi
01-05-2024, 03:25
» Antworten: 0
» Ansichten: 21
Facebook und Instagram ve...
Forum: Fotografie
Letzter Beitrag: Joopi
01-05-2024, 12:51
» Antworten: 0
» Ansichten: 5

 
Lightbulb Prepared Statements mit mysqli
Geschrieben von: Joopi - 07-07-2023, 10:42 - Forum: Programmieren - Keine Antworten

Mittlerweile gewöhne ich mir meine eingefleischten Fehler ab und schreibe auch PHP-Code etwas besser - hoffentlich.

Eine Abfrage aus einer Datenbank ist im Grunde genommen sehr einfach und könnte so aussehen:

Code:
$erg = mysqli_query($db, "SELECT mailadresse FROM " . $tblname021 . " WHERE id = " . $n_id2);
$data = mysqli_fetch_assoc($erg);
$mailaddi = $data['mailadresse'] ?? null;

Der Code zeigt, dass ich durchaus mit Variablen in der Datenbankabfrage arbeite. Da ich diesen Code auf einem Webspace benutze, könnte es sein, dass Angreifer die Gelegenheit nutzen und meine Webseite nicht nur attakieren, sondern hacken. Das möchte ich vermeiden.

Der gleiche Zweck, den ich mit dem obigen Code verfolge, nämlich eine Mailadresse aus einer Tabelle zu erhalten, ist mit folgendem Code, der mit prepared statements geschrieben ist, gleichfalls zu erreichen:

Code:
$erg = "SELECT mailadresse FROM " . $tblname021 . " WHERE id = ?;";
$stmt = mysqli_stmt_init($db);

if (!mysqli_stmt_prepare($stmt, $erg)) {
    echo "SQL statement failed.";
} else {
    mysqli_stmt_bind_param($stmt, "s", $n_id2);
    mysqli_stmt_execute($stmt);
    $result = mysqli_stmt_get_result($stmt);

    $data = mysqli_fetch_assoc($result);
    $mailaddi = $data['mailadresse'] ?? null;
}

Der Vorteil von dieser Art der Programmierung ist, dass sie sicherer ist. Der Nachteil, er ist dem geneigten Leser bereits aufgefallen, ist, dass es wesentlich mehr Code zu schreiben gibt. Naja, einen Tod muss der Hobbyprogrammierer wohl riskieren, um nicht Opfer dieser blöden Internetkriminellen zu werden.

Ob das nun der Weisheit letzter Schluss ist, vermag ich nicht zu sagen. Aber die Vorgehensweise habe ich nun mehrfach im Internet recherchiert (ohne Chat-GPT) und ebenfalls in neueren YouTube-Videos sehen können. Insofern gehe ich davon aus, dass es nicht allzu verkehrt ist, meine PHP-Skripte anzupassen und in der etwas aufwendigeren Art und Weise auf den Server zu legen.

Drucke diesen Beitrag

Thumbs Up rsync mit ssh auf remote-server
Geschrieben von: Joopi - 05-07-2023, 07:47 - Forum: Linux - Keine Antworten

Seitdem ich wieder einen vServer habe, mache ich mir Gedanken darüber, wie ich den Ordner und Dateien auf den Server bringe. Die erste Option ist immer via FTP.

Es gibt aber auch die Möglichkeit, mit rsync die Ordner und Dokumente vom lokalen Rechner auf den vServer zu transferieren.

Auf den vServer logge ich mich nur noch mit einem rsa-key ein. Die Aufgabe, die ich erledigen wollte, war:

  • Stelle eine Verbindung über ssh und rsa-key her.
  • Synchronisiere den lokalen Ordner mit dem entfernten Ordner

Der Befehl dazu lautet wie folgt:

Code:
rsync --delete -av -e 'ssh -i ~/.ssh/rsa-key -p 2200' ~/help/help/ user@server.net:~/help/

Da ich einen abweichenden Port benutze, den ich im Beispiel mit 2200 angegeben habe, wirkt Befehl durchaus kompliziert. Wenn man ihn in Ruhe anschaut, dann löst sich die Komplexität auf:
  • rsync-Befehl und Optionen (rsync --delete -av -e)
  • ssh-Befehl und Optionen ('ssh -i ~/.ssh/rsa-key -p 2200')
  • Quellordner (~/help/help/)
  • Zielserver und Zielordner (user@server.net:~/help/)

Sobald der Befehl ausgeführt ist, muss die passphrase eingegeben werden:

Code:
Enter passphrase for key '/home/user/.ssh/rsa_key':

Ist Phrase korrekt eingegeben worden, wird der Login-Vorgang ausgeführt. Anschließend werden die Ordner und Dateien synchronisiert. Ist der Transfer beendet, erfolgt der Logout-Vorgang. Fertig!

Da ich meinen lokalen Computer so gut wie nie ausschalte, würde ich gerne nachts ein Backup vom lokalen Computer auf den entfernten Server durchführen lassen (cron-Job). Dazu muss ich aber noch erfahren, wie ich die passphrase mitgeben kann, ohne dass ich einen Wecker stellen und vor dem Computer sitzen muss.

Drucke diesen Beitrag

  Schreibrecht verstehen
Geschrieben von: Joopi - 17-06-2023, 07:29 - Forum: Linux - Keine Antworten

Auf einem Linuxsystem sind die Rechte sehr aufwendig - finde ich. Man muss zwischen Eigentümer, Gruppe und Sonstige unterscheiden.

Zu den Rechten zählen:

  • lesen (r - read)
  • schreiben (w - write)
  • ausführen (x - excute)

Mit Ziffern werden diese Rechte dann den 3 Userformen, ich nenne sie mal so, zugeordnet.

Zitat:Rechte chmod (octal)

Lesen, schreiben und ausführen: 7
Lesen und Schreiben           : 6
Lesen und Ausführen           : 5
Nur lesen                     : 4
Schreiben und Ausführen       : 3
Nur Schreiben                 : 2
Nur Ausführen                 : 1
Keine Rechte                  : 0

Die für mich einfachste Möglichkeit, um die Rechte an einer Datei zu verändern, ist der Befehl chmod.

Der Befehl, um einer Datei alle Rechte für alle (Eigentümer, Gruppe und Sonstige) zu geben, muss der Befehl mit root-Rechten wie folgt aussehen:

Code:
sudo chmod 777 dateiname.txt

Die Ziffer 7 steht, wie oben zu sehen, für "lesen, schreiben, ausführen".  Wäre es der Fall, dass Sonstige nur lesen und ausführen, aber nicht schreiben sollen, dann ändert sich der Befehl wie folgt:

Code:
sudo chmod 775 dateiname.txt

Drucke diesen Beitrag

  PHP-Extensions installieren
Geschrieben von: Joopi - 17-06-2023, 05:13 - Forum: Linux - Keine Antworten

Auf einem frischen Server sind meist keine der von den Desktop-Versionen bekannten Programme installiert. So verhält es sich auch mit PHP.

Nach der Installation von PHP müssen meist, damit Webanwendungen laufen, diverse Extensions nachinstalliert werden. Es sind viele und es wäre mühsam, diese alle einzeln zu installieren.

Wenn man weiß, welche Extensions benötigt werden, kann man diese in einem Schwung installiereren. Als Beispiel sollen hier die Extensions

  • php8.2-xml
  • php8.2-yaml


installiert werden. Der verkürzte Befehl sieht dann wie folgt aus:


Code:
sudo apt install php8.2-{xml,yaml}

Drucke diesen Beitrag

  Standardeditor wählen
Geschrieben von: Joopi - 17-06-2023, 12:32 - Forum: Linux - Keine Antworten

Oftmals hat man in einem Linuxsystem mehrere Editoren zur Auswahl. Wenn man z.B. im MidnightCommander den dortigen internen Editor nicht nutzen will, dann kann man diesen ändern.

Welche Editoren zur Verfügung stehen, ist mit folgenden Befehl auszuweisen:

Code:
sudo update-alternatives --config editor

Die Ausgabe dazu sieht auf meinem vServer so aus:

Zitat:There are 4 choices for the alternative editor (providing /usr/bin/editor).

 Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /bin/nano            40        auto mode
  1            /bin/nano            40        manual mode
  2            /usr/bin/mcedit      25        manual mode
  3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    15        manual mode

Press <enter> to keep the current choice(*), or type selection number:

Mit den Ziffern 1 bis 4 kann man den Editor seiner Wahl als Standardeditor setzen.

Drucke diesen Beitrag

  FTP-Server ProFTPD installieren
Geschrieben von: Joopi - 17-06-2023, 09:59 - Forum: Linux - Keine Antworten

Um wieder ins Thema zu kommen bzw. mein bisschen Wissen wieder aufzufrischen, habe ich mir bei lima-city.de einen kleinen vServer gemietet. Dieses Angebot wurde im Winter 20/23 angekündigt und nun umgesetzt.

Es gibt einiges zu tun, insbesondere musste ein FTP-Server installiert werden. Das habe ich noch nicht so oft gemacht und hatte so meine Sorgen damit. Geholfen hat mir dabei ein Artikel auf den Webseiten von Thomas Krenn FTP-Server unter Debian einrichten.

Um eine Verbindung zum FTP-Server mit Verschlüsselung zu ermöglichen, ist das TLS-Module mod_tls notwendig. Dieses wird auch mitinstalliert, aber nicht aktiviert. Es hat etwas gedauert, bis ich das herausgefunden hatte.

Damit TLS genutzt werden kann, ist in der Konfigirationsdatei /etc/proftpd/modules.conf die Zeile

Code:
LoadModule mod_tls.c

die Entkommentierung zu entfernen. Danach war eine verschlüsselte Verbindung möglich.

Zuvor erschien folgende Meldung in FileZilla:

Zitat:Status: Verbindung zum Server getrennt
Status: Verbinde mit x.x.x.x...
Status: Verbindung hergestellt, warte auf Willkommensnachricht...
Status: Unsicherer Server; er unterstützt kein FTP über TLS.
Befehl: USER xxx
Antwort: 331 Password required for xxx
Befehl: PASS ************
Antwort: 530 Login incorrect.
Fehler: Kritischer Fehler: Herstellen der Verbindung zum Server fehlgeschlagen

In der Logdatei von proftpd erschien zudem folgender Eintrag:

Zitat:USER xxx (Login failed): Limit access denies login

Es hat einiges an Recherchearbeit benötigt, um herauszufinden, dass in der Datei /etc/proftpd/conf.d/custom.conf die Zeile DenyGroup !ftpuser auszukommentieren war. Danach erschien die Fehlermeldung in der Logdatei nicht mehr.

Code:
# Limit login to the ftpuser group
<Limit LOGIN>
  # DenyGroup !ftpuser
</Limit>

Drucke diesen Beitrag

  MySQL/MariaDB Installation Rootpasswort
Geschrieben von: Joopi - 16-06-2023, 09:53 - Forum: Linux - Keine Antworten

Irgendwie komme ich bei Neuinstallationen immer wieder in Konflikt mit dem Rootpasswort für MariaDB oder MySQL.

Heute, am 01.01.2022, hatte ich versucht in einer virtuellen Maschine (VirtualBox) einen MariaDB-Server aufzusetzen. Das hat nicht funktioniert. Das Setzen des Rootpassworts wollte nicht gelingen. Dabei fiel mir erst später auf, dass MariaDB garnicht gestartet worden war. Es gelang mir auch nicht, MariaDB zum Laufen zu bekommen.

Kurzerhand entschied ich mich das gute alte MySQL zu installieren. Das ging sehr gut.

Folgende Befehle setzte ich ab:

Code:
sudo apt-get install mysql-server mysql-client

Code:
sudo mysql_secure_installation

Bei diesem Befehl hatte MariaDB Fehlermeldung ausgegeben. MySQL lief schön durch und ich konnte das Rootpasswort setzen. Doch eine Anmeldung in der Konsole wollte nur gelingen, wenn ich die Anmeldung als Sudo-User vornahm. Das hatte auch den Nachteil, dass ich mich über Adminer im Browser nicht anmelden konnte.

Der Workaround hierzu ist sehr gut auf der folgenden Webseite beschrieben:

https://askubuntu.com/questions/766334/c...untu-16-04

In der Kurzform für mich sind folgende Befehl abzuarbeiten, um dem MySQL-User root wieder normal funktionsfähige zu machen.

Der Sudo-User loggt sich ein:

Code:
sudo mysql -u root -h localhost -p

Sodann überprüft er, ob der MySQL-User root in der entsprechenden Tabelle der Datenbank mysql steht:

Code:
SELECT User,Host FROM mysql.user;

Der User root ist dann zu löschen:

Code:
DROP USER 'root'@'localhost';

Der User root ist dann neu anzulegen:

Code:
CREATE USER 'root'@'localhost' IDENTIFIED BY 'passwort';

Die komplette Latte an Rechten ist dem User root zu vergeben:

Code:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

Und dann sind die neuen Berechtigungen sofort auszurollen:

Code:
FLUSH PRIVILEGES;

Danach konnte ich mich auf der Konsole als normaler User und Passwort nach MySQL einloggen und in Adminer konnte ich mich auch einloggen mit dem User root und dem neuen Passwort.

Adminer kann nur genutzt werden, wenn der User root ein Passwort hat. Das nur am Rande erwähnt.

Drucke diesen Beitrag

  Ein erstes (Short-)Video auf YouTube
Geschrieben von: Joopi - 12-06-2023, 06:38 - Forum: Fotografie - Keine Antworten

Im Stadt-/Rosengarten von Neuss gibt es viel zu entdecken, wenn man mit der Kamera (oder auch nur dem Handy) unterwegs ist. Eine besondere Situation mit zwei Kanadagans-Familien musste ich unbedingt filmen, denn sie waren auf einem Ausflug mit den Kleinen.

Das Video ist leider 9 Sekunden zu lang, um als Short-Video durchgehen zu können.

Drucke diesen Beitrag

Sad Instagram hat mein Konto gesperrt
Geschrieben von: Joopi - 25-05-2023, 10:31 - Forum: Allgemeines - Antworten (1)

Warum auch immer, Instagram hat ohne Vorankündigung mein Konto gesperrt. Den Grund kann ich mir beim besten Willen nicht vorstellen, denn ich lade keine Bilder hoch, die anzüglich oder sonstwie nicht den Regeln entsprechen. Meine Widerspruch habe ich eingelegt. Ich bin gespannt, ob mein Konto wieder aktiviert wird. Und...

... es wäre schön zu erfahren, aus welchen Gründen die Sperrung ausgesprochen wurde. Wahrscheinlich hängt wieder so ein Bot dahinter, der nicht kann und nichts weiß.

Das ist die Mail von Instagram:


Zitat:Es besteht Handlungsbedarf, um den Zugriff auf xxx nicht zu verlieren

Hallo xxx,

Dein Konto wurde vorübergehend gesperrt, weil dein Konto bzw. Aktivitäten darin gegen unsere Gemeinschaftsrichtlinien verstoßen.

Wenn du der Meinung bist, dass dies nicht gerechtfertigt ist, kannst du bis zum 21. November 2023 Einspruch einlegen.
xxx
Details ansehen

Solltest du keinerlei Maßnahmen ergreifen, wird dein Konto dauerhaft deaktiviert.

Nun habe ich seit einigen Wochen mein Konto wieder im Zugriff, es war lange Zeit von mir nicht benutzbar, ohne eine solche Mail von Instagram, und nun soll ich gegen die Gemeinschaftsrichtlinien verstoßen haben. Tja, aber gegen welche Regel habe ich denn verstoßen?

Folgende Punkte stehen in der Gemeinschaftsregelung aufgeführt:
  • Teile nur Fotos und Videos, die du selbst aufgenommen hast oder zu deren Weitergabe du berechtigt bist.
  • Poste Fotos und Videos, die für eine vielfältige Zielgruppe geeignet sind.
  • Fördere bedeutungsvolle und echte Interaktionen.
  • Halte dich an Recht und Gesetz.
  • Respektiere die anderen Mitglieder der Instagram-Community.
  • Sorge dafür, dass unsere Gemeinschaft sicher bleibt. Verherrliche deshalb niemals Selbstverletzung.
  • Denke nach, bevor du berichtenswerte Ereignisse postest.

Alle diese Punkte halte ich ein. Ich weiß, dass diese Ami-Läden den Schuß nicht gehört haben, aber nun trifft es mich selber mal. Ich bin gespannt, ob ich mein Konto zurückerhalte. Was für Arschgeigen!

Wenn ich das Konto nicht zurückerhalte, kann ich via Gericht dagegen vorgehen. Was für ein Irrsinn!

Drucke diesen Beitrag

Lightbulb PDF-Dokumente bearbeiten mit pdftk
Geschrieben von: Joopi - 21-05-2023, 04:47 - Forum: Linux - Keine Antworten

Dann und wann kann es vorkommen, dass aus einem mehrseitigen Dokument nur eine Seite benötigt wird. Hierbei hilft das Programm pdftk, denn damit kann man auf der Konsole diese Aufgabe bewerkstelligen.

Im folgenden Beispiel wird die Seite 4 aus einem mehrseitigen Dokument herausgetrennt (cat) und als neues Dokument ausgegeben (einseitiges_pdf_dokument.pdf).

Code:
pdftk mehrseiten_pdf_dokument.pdf cat 4 output einseitiges_pdf_dokument.pdf

Es gibt noch andere Konstellationen in der Auflistung der herauszutrennenden Seiten. Zum Beispiel ist die Angabe cat 3-7 10 dafür gedacht, dass die Seit 3-7 und 10 verbleiben und der Rest eben nicht in das neue Dokument übertragen wird.

Drucke diesen Beitrag