PHP aufgenommen, Zertifikate begonnen
This commit is contained in:
@@ -464,3 +464,69 @@ a2dismod php8.2 && a2enmod php8.4
|
||||
crm res restart rcapache2
|
||||
update-alternatives --set php /usr/bin/php8.4
|
||||
```
|
||||
|
||||
# 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 <csr>
|
||||
```
|
||||
|
||||
#### 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
|
||||
@@ -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.
|
||||
- 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:
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user