Benutzer-Werkzeuge

Webseiten-Werkzeuge


php

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
php [2022-06-09 15:10:29] – [Zeichenketten mit PHP verschlüsseln] manfredphp [2024-10-14 11:38:17] (aktuell) – [Lösung] manfred
Zeile 23: Zeile 23:
  
 ==== allgemeines zur Ausgabe ==== ==== allgemeines zur Ausgabe ====
 +
 +zeigt alle für die CLI aktivierten Module an
 +  > php -m
 +
 +zeigt alle für FPM (nginx) aktivierten Module an
 +  > php-fpm8.1 -m
 +
 +zeigt alle aktiven nginx-Module an
 +  > ls -lha /etc/nginx/modules-enabled/
  
  
Zeile 588: Zeile 597:
  
 === PDO === === PDO ===
 +
 +Die Option ''PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT'' darf nicht verwendet werden!
 +Ihr ist es scheißegal ob sie auf "true" oder "false" gesetzt wird, sie schaltet die Verifikation **IMMER** ab!!!
  
   * [[http://php.net/manual/de/ref.pdo-mysql.connection.php]]   * [[http://php.net/manual/de/ref.pdo-mysql.connection.php]]
Zeile 690: Zeile 702:
         PDO::MYSQL_ATTR_SSL_CERT                => $db_crt,         PDO::MYSQL_ATTR_SSL_CERT                => $db_crt,
         PDO::MYSQL_ATTR_SSL_CA                  => $db_ca,         PDO::MYSQL_ATTR_SSL_CA                  => $db_ca,
-        PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT  => false, 
         PDO::ATTR_PERSISTENT                    => false         PDO::ATTR_PERSISTENT                    => false
 ); );
Zeile 1106: Zeile 1117:
 Beispiel: Beispiel:
   > php mssql_show.php dblib Benutzer geheimesPasswort 192.168.0.33 49411 DatenbankName   > php mssql_show.php dblib Benutzer geheimesPasswort 192.168.0.33 49411 DatenbankName
 +
 +
 +<file php mssql_show_databases.php>
 +<?php
 +
 +//
 +// Verbindung zu einer MS-SQL-DB
 +//
 +
 +// Argumente
 +$dbuser = 'benutzer';
 +$dbpass = 'geheim';
 +$dbhost = 'host.domain.net';
 +$dbport = '1433';
 +$dbname = 'datenbankname';
 +$dbdrvr = 'dblib';
 + 
 +// Abfrage definieren
 +$sql = "SELECT name, database_id, create_date FROM sys.databases;";
 + 
 +// Verbindung zur Datenbank aufbauen
 +$dbh = new pdo($dbdrvr . ':host=' . $dbhost . ';port=' . $dbport , $dbuser , $dbpass);
 +
 +foreach ($dbh->query($sql) as $row) {
 +   echo "| " . $row['database_id'] . " | " . $row['create_date'] . " | " . $row['name'] . " |" . "\n";
 +}
 + 
 +// und nach der Nutzung, die Verbindung beenden
 +$dbh = null;
 +
 +exit();
 +?>
 +
 +</file>
  
  
Zeile 1409: Zeile 1454:
   $pool_lun_snap_name = trim(substr($neuer_string, $pool_lun_snap_name_pos + "1", $pool_lun_snap_name_end - $pool_lun_snap_name_pos));   $pool_lun_snap_name = trim(substr($neuer_string, $pool_lun_snap_name_pos + "1", $pool_lun_snap_name_end - $pool_lun_snap_name_pos));
   echo $pool_lun_snap_name;   echo $pool_lun_snap_name;
 +
 +
 +wir wollen die 3 Zeichen "xyz" haben, die unmittelbar vor einer bekannten Zeichenkette ":abc defg:" im "$datensatz" stehen
 +  $string_pos = strpos($datensatz, ':abc defg:');
 +  $gesuchter_string = trim(substr($datensatz, $string_pos - 3, 3));
 +bei "... xyz:abc defg: ..." ist die Zeichenkette "xyz" gesucht aber nur ":abc defg:" ist bekannt.
  
  
Zeile 1482: Zeile 1533:
 ===== Zeichenketten mit PHP verschlüsseln ===== ===== Zeichenketten mit PHP verschlüsseln =====
  
-Als erstes muß das Paket ''php-cli'' (z.B.: ''apt install php7.4-cli'') installiert werden.+Vorher muß das Paket ''php-cli'' (z.B.: ''apt install php7.4-cli'') installiert werden.
  
-zur Vorbereitung benötigen wir ein RSA-Schlüsselpaar:+ 
 +==== Vorbereitung für das Beispiel ==== 
 + 
 +als erstes benötigen wir ein RSA-Schlüsselpaar:
   > openssl genrsa -out openssl_private_key.pem 4096   > openssl genrsa -out openssl_private_key.pem 4096
   > openssl rsa -in openssl_private_key.pem -out openssl_public_key.pem -outform PEM -pubout   > openssl rsa -in openssl_private_key.pem -out openssl_public_key.pem -outform PEM -pubout
Zeile 1492: Zeile 1546:
  
   > php /tmp/php_openssl_verschl.php   > php /tmp/php_openssl_verschl.php
-  > ls -lha Ausgabe.txt +  > ls -lha verschluesselt.txt 
-  -rw-rw-r-- 1 fritz fritz 684 Jun  9 17:03 Ausgabe.txt+  -rw-rw-r-- 1 fritz fritz 684 Jun  9 17:03 verschluesselt.txt
      
   > php /tmp/php_openssl_entschl.php    > php /tmp/php_openssl_entschl.php 
   Hallo Welt!   Hallo Welt!
 +
 +//In diesem Beispiel wird, mit dem ersten Aufruf, die Zeichenkette "''Hallo Welt!''", verschlüsselt, in eine Datei geschrieben.
 +Und mit dem zweiten Aufruf wird der Inhalt der Datei wieder entschlüsselt und ausgegeben.//
  
 <file php php_openssl_verschl.php> <file php php_openssl_verschl.php>
Zeile 1502: Zeile 1559:
 openssl_public_encrypt("Hallo Welt!", $crypttext, trim(file_get_contents("openssl_public_key.pem"))); openssl_public_encrypt("Hallo Welt!", $crypttext, trim(file_get_contents("openssl_public_key.pem")));
  
-$dateihandle = fopen("Ausgabe.txt","w");+$dateihandle = fopen("verschluesselt.txt","w");
 $b64crypt = base64_encode("$crypttext"); $b64crypt = base64_encode("$crypttext");
  
 fwrite($dateihandle, $b64crypt); fwrite($dateihandle, $b64crypt);
 +fclose($dateihandle);
 ?> ?>
 </file> </file>
Zeile 1511: Zeile 1569:
 <file php php_openssl_entschl.php> <file php php_openssl_entschl.php>
 <?php <?php
-$crypttext=base64_decode(trim(file_get_contents("Ausgabe.txt")));+$crypttext=base64_decode(trim(file_get_contents("verschluesselt.txt")));
  
 openssl_private_decrypt("$crypttext", $decrypted, trim(file_get_contents("openssl_private_key.pem"))); openssl_private_decrypt("$crypttext", $decrypted, trim(file_get_contents("openssl_private_key.pem")));
Zeile 1521: Zeile 1579:
  
 ==== Ein- und Ausgabe soll über jeweils eine Datei laufen ==== ==== Ein- und Ausgabe soll über jeweils eine Datei laufen ====
 +
 +  > echo "Hallo Welt!" > entschluesselt.txt
 +  > php /tmp/php_openssl_verschl.php
 +  > ls -lha verschluesselt.txt 
 +  -rw-rw-r-- 1 fritz fritz 684 Jun  9 17:24 verschluesselt.txt
 +  
 +  > rm entschluesselt.txt
 +  > php /tmp/php_openssl_entschl.php 
 +  
 +  > cat entschluesselt.txt ; echo
 +  Hallo Welt!
  
 <file php php_openssl_verschl.php> <file php php_openssl_verschl.php>
 +<?php
 +openssl_public_encrypt(trim(file_get_contents("entschluesselt.txt")), $crypttext, trim(file_get_contents("openssl_public_key.pem")));
 + 
 +$dateihandle = fopen("verschluesselt.txt","w");
 +$b64crypt = base64_encode("$crypttext");
 +
 +fwrite($dateihandle, $b64crypt);
 +fclose($dateihandle);
 +?>
 </file> </file>
  
 <file php php_openssl_entschl.php> <file php php_openssl_entschl.php>
 +<?php
 +$crypttext=base64_decode(trim(file_get_contents("verschluesselt.txt")));
 +openssl_private_decrypt("$crypttext", $decrypted, trim(file_get_contents("openssl_private_key.pem")));
 + 
 +$dateihandle = fopen("entschluesselt.txt","w");
 +
 +fwrite($dateihandle, $decrypted);
 +fclose($dateihandle);
 +?>
 </file> </file>
  
  
/home/http/wiki/data/attic/php.1654787429.txt · Zuletzt geändert: von manfred