diff --git a/Linux-Sammelsurium.md b/Linux-Sammelsurium.md index 4d4e2dc..72996cb 100644 --- a/Linux-Sammelsurium.md +++ b/Linux-Sammelsurium.md @@ -463,4 +463,70 @@ Umschalten (mod_php/Apache) und CLI a2dismod php8.2 && a2enmod php8.4 crm res restart rcapache2 update-alternatives --set php /usr/bin/php8.4 -``` \ No newline at end of file +``` + +# Zertifikate + +## Ein CSR (Certificate Signing Request) erstellen (bei vorhandenem ) + +```bash +openssl req -new -key server.key -out server.csr +``` + +Hier werden dann einige Daten abgefragt. Daher ist es einfacher mit einem Config-File das man mit übergibt + +```bash +openssl req -new -key server.key -out server.csr -config config.req +``` + +### Muster für ein Config-File + +```bash +[ req ] +default_bits = 4096 +distinguished_name = req_distinguished_name +req_extensions = req_cert_ext +prompt = no +default_days = 365 + +[ req_distinguished_name ] +# +# requested SubjectDN +# +C = DE +O = Bund +OU = Service +CN = cmdb01.adm.ivbb.bund.de +emailAddress = mail@bund.de + +[req_cert_ext] +# +subjectAltName = @alt_names + +## requested SubjectAlternativeNames (SANs) + +[ alt_names ] +DNS.1 = cmdb01.adm.ivbb.bund.de +DNS.2 = mlseazcmd01.adm.ivbb.bund.de +DNS.3 = mlsfazcmd01.adm.ivbb.bund.de +``` + +## Betrachten des CSR + +```bash +openssl req -text -in +``` + +#### Notizen zu Zertifikate + +##### Private Key erstellen + +openssl genrsa -out $HOME/servercrt/dlsea3tim01.server.key 2048 + +##### Zertifikatsrequest erstellen + +openssl req -new -days 1095 -key dlsea3tim01.server.key -out dlsea3tim01.server.csr -config req_config.dlsea3tim01.adm.ivbb.bund.de + +##### Zertifikatsrequest ansehen + +openssl req -text -in dlsea3tim01.server.csr|less \ No newline at end of file diff --git a/SQL.md b/SQL.md index 511e707..d9d007f 100644 --- a/SQL.md +++ b/SQL.md @@ -449,8 +449,6 @@ FROM table1 WHERE col1 LIKE '%a__' ``` - - ## Mathematical Columns ### Verfügbare Tabellen und Spalten: @@ -487,15 +485,22 @@ Hier wird 10 durch 3 geteilt. Die 3 passt dreimal in die 10, mit einem Rest von Normalerweise wird Modulo verwendet, um zu prüfen, ob eine Zahl gerade oder ungerade ist: -Wenn eine Zahl gerade ist, lässt die Division durch 2 einen Rest von 0. -Wenn eine Zahl ungerade ist, lässt die Division durch 2 einen Rest von 1. -Finden Sie zum Beispiel Zeilen mit geraden Nummern: +- Wenn eine Zahl gerade ist, lässt die Division durch 2 einen Rest von 0. +- Wenn eine Zahl ungerade ist, lässt die Division durch 2 einen Rest von 1. + Finden Sie zum Beispiel Zeilen mit geraden Nummern: + +```sql SELECT * FROM table WHERE id % 2 = 0; +``` + Oder zum Durchlaufen von Werten: +```sql number % 12 (gibt 0-11 zurück) number % 8 (gibt 0-7 zurück) +``` + Gruppieren Sie zum Beispiel Elemente in 5er-Gruppen: SELECT item_number % 5 as group_number FROM inventory; @@ -527,10 +532,14 @@ Der Rest bei der Division durch 7 ist immer kleiner als 7 und reicht von 0 bis 6 Prüfen, ob das General Log aktiviert ist: -```sql SHOW VARIABLES LIKE 'general_log'; -SHOW VARIABLES LIKE 'log_output'; -``` +SHOW VARIABLES LIKE 'log_output' + + + + + + Oder beide Werte gemeinsam anzeigen: diff --git a/php.md b/php.md new file mode 100644 index 0000000..e9338a2 --- /dev/null +++ b/php.md @@ -0,0 +1,85 @@ +Klar — hier ist der Inhalt als Markdown zum Kopieren: + +```markdown +# Erklärung der PHP-Zeile + +```php +$page = isset($_GET['page']) ? max(1, (int) $_GET['page']) : 1; +``` + +Die Zeile liest den URL-Parameter **`page`** aus und stellt sicher, dass die Seitennummer mindestens **1** ist. + +## 1. Prüfen, ob `page` vorhanden ist + +```php +isset($_GET['page']) +``` + +Prüft, ob in der URL ein Parameter `page` vorhanden ist. + +Zum Beispiel: + +```text +http://localhost/pfdb/?page=3 +``` + +Dann enthält: + +```php +$_GET['page'] // "3" +``` + +## 2. Umwandlung in eine Ganzzahl + +```php +(int) $_GET['page'] +``` + +wandelt den Wert in eine Ganzzahl (`int`) um. + +## 3. Mindestwert 1 + +```php +max(1, (int) $_GET['page']) +``` + +stellt sicher, dass das Ergebnis **nicht kleiner als 1** wird. + +## 4. Ternärer Operator + +Der gesamte Ausdruck verwendet den sogenannten **ternären Operator**: + +```php +Bedingung ? Wert_wenn_wahr : Wert_wenn_falsch +``` + +Ausgeschrieben entspricht die ursprüngliche Zeile ungefähr: + +```php +if (isset($_GET['page'])) { + $page = max(1, (int) $_GET['page']); +} else { + $page = 1; +} +``` + +## Beispiele + +| URL-Parameter | `$page` | +| ------------- | -------:| +| keiner | `1` | +| `?page=1` | `1` | +| `?page=5` | `5` | +| `?page=0` | `1` | +| `?page=-4` | `1` | +| `?page=abc` | `1` | + +## Zweck + +Das ist typisch für eine **Pagination/Seitennavigation**. + +`$page` gibt also sehr wahrscheinlich an, welche Seite einer Ergebnisliste angezeigt werden soll. + +``` + +```