PHP aufgenommen, Zertifikate begonnen
This commit is contained in:
@@ -464,3 +464,69 @@ a2dismod php8.2 && a2enmod php8.4
|
|||||||
crm res restart rcapache2
|
crm res restart rcapache2
|
||||||
update-alternatives --set php /usr/bin/php8.4
|
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__'
|
WHERE col1 LIKE '%a__'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Mathematical Columns
|
## Mathematical Columns
|
||||||
|
|
||||||
### Verfügbare Tabellen und Spalten:
|
### 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:
|
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 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 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;
|
SELECT * FROM table WHERE id % 2 = 0;
|
||||||
|
```
|
||||||
|
|
||||||
Oder zum Durchlaufen von Werten:
|
Oder zum Durchlaufen von Werten:
|
||||||
|
|
||||||
|
```sql
|
||||||
number % 12 (gibt 0-11 zurück)
|
number % 12 (gibt 0-11 zurück)
|
||||||
number % 8 (gibt 0-7 zurück)
|
number % 8 (gibt 0-7 zurück)
|
||||||
|
```
|
||||||
|
|
||||||
Gruppieren Sie zum Beispiel Elemente in 5er-Gruppen:
|
Gruppieren Sie zum Beispiel Elemente in 5er-Gruppen:
|
||||||
|
|
||||||
SELECT item_number % 5 as group_number FROM inventory;
|
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:
|
Prüfen, ob das General Log aktiviert ist:
|
||||||
|
|
||||||
```sql
|
|
||||||
SHOW VARIABLES LIKE 'general_log';
|
SHOW VARIABLES LIKE 'general_log';
|
||||||
SHOW VARIABLES LIKE 'log_output';
|
SHOW VARIABLES LIKE 'log_output'
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Oder beide Werte gemeinsam anzeigen:
|
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