AJAX für "Trackable Identitäten" Was ist gemeint?

Kurzform des "Self-made-Projekts": Es ist eine Client-Server-Anwendung zu entwickeln und zu testen, die AJAX, JSON und PHP verwendet und dem Benutzer anschaulich wesentliche Merkmale seiner eigenen "seiner trackablen Identitäten" anzeigt. Auch für dieses Lehrbeispiel gilt: Eine serverseitige Sammlung und serverseitige Speicherung ist strikt untersagt! Siehe z.B. Recht ( Multiple Choice-Test ).

AJAX ( Hinweise ) Einführendes

Hinweise zu AJAX finden sich im Internet und im Quelltext von Beispiele mit AJAX . Es ist AJAX zu verwenden. Die folgenden grundlegenden Prinzipien soll dieses Projekt beinhalten:

Inflation digitaler Muster ( Allgemein ) Thomas Hobbes

Vor dem Buchdruck war ein Buch ein hand-geschriebenen Buch und sehr wertvoll. Ein Buch kostete etwa soviel wie ein Haus. Der gefühlte Wert einer Informationen liegt in der zuordnenden Bedeutung und Wertschätzung.

Heute ( 2014 ) sind digitale Informationsmuster technisch beliebig oft ( kostengünstig ) kopierbar. Zu digitalen Medien gehört ein beliebig hoher Vervielfachungsgrad mit unermeßlich vielen originalgetreuen digitalen Reproduktionen. Eine beliebige Vervielfältigung des "digitalen Orginals" ( Software, Musik, Zeitung, Film, usw. ) kann den ( kollektiven ) Wert eines einzelnen Exemplares maginalisieren.

Beispiele: EIN Musiker komponiert ein musikalisches Werk. MILLIONEN User kopieren und hören. EIN Autor schreibt einen Roman. MILLIONEN User kopieren und lesen. EINE Hausfrau findet ein neues Rezept. MILLIONEN User kochen danach und essen. EINE Erfinderin konstruiert und entwickelt eine weltumspannende Innovation, MILLIONEN User nutzen diese.

Und was sagt Thomas Hobbes ( 1588 - 1679 ) dazu?

Thomas Hobbes: Werden in diesem Schiff nach und nach alle Planken durch neue ersetzt, dann ist es numerisch dasselbe Schiff geblieben; hätte aber jemand die herausgenommenen alten Planken aufbewahrt und sie schließlich sämtlich in gleicher Richtung wieder zusammengefügt und aus ihnen ein Schiff gebaut, so wäre ohne Zweifel auch dieses Schiff numerisch dasselbe Schiff wie das ursprüngliche. Wir hätten dann zwei numerisch identische Schiffe, was absurd ist.

Identität ( Datensicherheit und Cloude ) Weltweite Datenfarmen

Achtung! Mehr oder minder grobe, vereinfachende, einseitige Darstellungen ( nachfolgend ) sind hinterfragungswürdig und sollen in einen umfassenderen Wissenskontext gebracht werden.

Wenn 2014 ( grob veranschaulicht ) cloudige-Datenfarmen weltweit verteilt sind und durchschnittlich jeder große Internetkonzern die adequate Speicherkapazitäten von ca. 1 000 000 000 PC's in unterschiedlichen Rechtssystemen vorhält, so gibt es für alle Arten von Informationen einen undurchschaubaren "grauen Markt von Bits", der mehr als nur die Eigenwerbung bedienen kann. Bei weltweiten Datenströmen und verteilten Datenspeicherungen gibt es undurchaubare, nationale Zuständigkeiten und fehlende Rechtsicherheiten. Eine "Multinationale cloudige-Security" scheint unlokalisierbar und zeigen irgendwie in ein weltweites, unduchschaubar-pfadiges Internet.

Cloudige-Datenfarmen speichern unermeßlich viele Daten und löschen ( nach maschineller Durchsicht ) unbrauchbaren Müll. Nicht zuletzt deshalb bieten "cloudige-Datenfarmen" freie Speicherkapazitäten kostengünstig an. In gewisser Weise können diese Dienste der "cloudige-Datenfarmen" nutzbaren/vermarktbaren Daten "frei Haus" einsammeln. Weil die jeweiligen Rechtssystemen sich bedingt widersprechen kann eine Auskunftpflicht und Gewährleistung mühsam/unmöglich sein. Natürlich lebt das Geschäft vom gegenseitigen Vertrauen. Deshalb wird intensiv um Vertrauen geworben. Anderseits sagt ein Sprichwort: Die "bösen" sind doch immer die "anderen".

"Cloudige-Datenfarmen" sind nicht nur nach Rechtssystemen weltweit verteilt. Aus Kostengründen kann es viele Subunternehmen geben, die in Drittländern kostengünstig für einen/mehrere "Mutterkonzern(e)" arbeiten. Formalisiert betrachtet gibt es für Weltkonzerne undurchschaubare Möglichkeiten, die Zuständigkeiten für die Datensicherheit und Datendiebstähle wie auch die Gewährleistung von Standards und die Einräumung von Mindestgrundrechte der informationelle Sebstbestimmung jedes Kunden im Kleingedruckten zu verstecken und auch manchmal an die Kunden und deren Unwissenheit delegieren möchten. Wer vergibt Prüftstempel und Zertifizerungen für Fainess? Welche Konzerne haben solche Auszeichnungen für Kunden-Fainess?

Und was sagt Albert Schweizer dazu?

Albert Schweizer:
Ob siebzig oder siebzehn,
im Herzen eines jeden Menschen 
wohnt die Sehnsucht nach dem Wunderbaren,
das erhebende Staunen beim Anblick der Sterne
und der ewigen Gedanken und Dinge,
das furchtlose Wagnis,
die unersättliche, kindliche Spannung,
was der nächste Tag bringen möge,
die ausgelassene Freude und Lebenslust.
Du bist so jung wie deine Zuversicht,
so alt wie deine Zweifel.
Identität ( Geräte ) Internet der Dinge

Es geht um den vielschichtigen Begriff der Identität im "Daten-Tummelplatz Internet".

Es gibt bedingte Identitäten, wie z.B. politische-, soziologische-, personale-, Ich-hafte-, personale- und Geheimidentitäten. Es gibt eine kulturelle Identität, eine Selbstzugehörigkeit einer Person als Mitglied einer kulturellen Gruppe. Es gibt eine nationale Identität, die sich in Gefühlen ausdrücken kann.

Im weltweiten Netz kennzeichnen und ersetzen ( 2014 ) digitale Identitäten ( Identitätskarten, IdentityCard, Voter ID-Karte, Bahn- und Bankkarten, Gesundheits-ID, Online-Registrierungssysteme, persönliche Identitätskarte und Führerscheinkarte, Gesundheitskarte, Bakkarten, Einkauf, Karte für Rabatte, ID card, identity card für Reservierungen und zum Einkauf im Internet, usw.

Bisher geht das ( historische ) Recht i.a. von überprüfbaren Übereinstimmungen von personenbezogenen Daten mit einer natürlichen Person aus ... Zur Identität eines Unternehmen ( Corporate Identity ) gehören Merkmale, die definierbar und erkennbar sind. Es gibt die mathematische Identität, die zeitinvariant ist ( eine bestimmte Größe zu allen Zeiten sich selbst gleich ).

Es gibt weltweit große Unterschiede bei nationalen Personalausweisen und -Systemen. Mehr und mehr kann die "natürlichen Person" zu einem digitalisierten Subjekt mit anteiligen Attributen werden und "der konkrete Nächste" und der "einen netz-click Entfernte" auch ohne digitale Verschleierungen undurchschaubar sein.

Eine Authentifizierung und das Session Management nutzt Passwörter ( und/oder Session-Token ) zur Authentifizierung einer "willkommenen Identität". Ein Identitäts-Diebstahl entwendet "die Identität". "Identitätsdiebstähle" entwenden sensiblen Benutzerdaten. Diese digitalen Identitäten ( auf Identitätskarten, auf Geräten wie Mobilphon, PC, Fertigungsmaschinen, usw. ) können auf Geräte, Personen verweisen und in vielfacher Weise mißbraucht werden.

Was für ein "persönlich nicht bekanntes Subjekt" zutrifft, kann im weltweiten Internet der Dinge ( IPv6 ) zukünftig in gewisser Weise für alle neuen elektronischen Geräte zutreffen. Gegenüber IPv4 vergrößert sich bei IPv6 der Adressraum um einen Faktor 2^96 ≈ 7,9·10^28 auf 2^128 ≈ 3,4·10^38 Adressen.

Anschaulich:
Bei IPv4 kommt auf jeden Mensch ca. eine Adresse im IPv4 - Adressraum.
Bei IPv6 kommen theoretisch durchschnittlich mehr als 1 000 000 000 000 000 000 000 000 000 
adressierbare Geräte im IPv6 - Adressraum auf jeden Menschen.

Im globalen Internet der Dinge kann theoretisch jedes Gerät ( Fernseher, elektronische Rolladensteuerung, Feuermelder, Küchengeräte, Waschmaschinen, Heizungssteuerung, Microcontroller im Auto, Smarphons, usw. ) zentral abgefragt, überwacht, gesteuert und gegen Diebstahl elektronisch gesichert werden.

Eine weltweite, strategische Zentralisierung von geräte- und software-technische Zuständigkeiten 
hinsichtlich IPv6 darf hinterfragt werden ... denn wer mag die damit verbundene Machtfülle und 
Verantwortung für die gesamte Menschheit menschenwürdig schultern?

Kann es in hirarchisch durchstrukturierten Netzen mit proprietär-monopolisierten Hardware- und Software-Komponenten einen allwissenden, allsehenden, alles speichernden SUPER-Administrator des SUPER-Netzes geben? Welche Grenzziehungen der Reichweite und Steuerbarkeit jedes Kleinstgerätes sind ethisch-technisch optional? Was meint "Schwarm-Intelligenz" bei Tieren, bei Geräten? Wie schützt sich der Schwarm gegen Fremd-Attacken?

Geräte-Identitäten Internet der Dinge

Für eine vielseitige Nutzung von Web-Apps braucht Web-Software gerätespezifische Merkmale, kennzahlen, Hardware-Einstellungen. Gerätespezifische Merkmale, wie z.B. Screen-Breite, -Höhe, -Auflösung, Farbtiefe, Color Depth, Screen-Size, verfügbare System Fonts, installierte Plugins, Plugin-Details, Cookies Enabled? usw. können vom Gerätetyp abhängen. Bei Apps, die auf unterschiedlichen Plattformen funktionieren sollen, sind zahlreiche Betriebssystem-Einstellungen wichtig. Bei Client-Server-Anwendungen bildet die Vielzahl solcher technischen Merkmale einen "Geräte-Fingerabdruck", der als "trackable-Browser-Identität" verwendet werden kann. Zu ( elektronischen ) Geräten gehören typische Identifikationsmerkmale . Geräte-Identitäten können quasie eindeutig/mehrdeutig auf eine/mehrere Person(en) verweisen.

Welcher Browser ( Version, Hersteller ) wird verwendet? Welche gerätespezifischen Merkmale zeigt der verwendete Browser an? Welche Internet Media Types ( Mime-Types ) unterstützt der Browser, um Text, Image, Audio, Video Message, Multipart verarbeiten und anzeigbar/hörbar machen zu können? Im Internet der Dinge können digitale Geräte-Zustände und Geräte-Identitäten für Geräte wie Mobilphon, PC, Fertigungsmaschinen, usw. gelten und damit auch auf Personen verweisen und in vielfacher Weise mißbraucht werden. Zum Programmieren von Apps werden die Attribute, Fähigleiten und Möglichkeiten der Geräte gebraucht. Wie können die aktuellen Werte beim Browser, insbesondere die verfügbaren Plugins und Browser-Mime-Types abgefragt werden?

Wie fange ich an? ( Clientseitig ) Beispiele

Hinweise gibt es in der Veranstaltung.

Clientseitig können zahlreiche Browser-Properties abgefragt werden. Es gibt z.B. screen.width, screen.height, screen.colorDepth, window.location.href, document.links, document.referrer, font-Einstellungen, usw. Zum Programmieren von Apps werden oft weitere Attribute, Fähigleiten und Möglichkeiten der Geräte gebraucht. Wie können die aktuellen Werte beim Browser, insbesondere die verfügbaren Plugins und Browser-Mime-Types abgefragt werden?

Wie sieht ein einfachste htm-Datei aus, die auf ein AJAX-Request sendet? Siehe z.B. Quelltext von Lehrdemo .

Wie fange ich an? ( Serverseitig ) Beispiele

Hinweise gibt es in der Veranstaltung.

Serverseitig stellt PHP ( Apache ) mit $_SERVER, $_REQUEST, $_COOKIE, $_SESSION, $_ENV Informationen zur Ausführungsumgebung und Systemvariablen zur Verfügung. Hier ist eine Gesamtübersicht zu PHP- $_SERVER

// Einige $_SERVER Beispiele:
$_SERVER['PHP_SELF']      Name des aktuell ausgeführten Skripts
$_SERVER['SERVER_ADDR']   IP-Adresse des Servers, auf dem das Skript aktuell ausgeführt wird 
$_SERVER['DOCUMENT_ROOT'] Das Wurzelverzeichnis des Servers, unter dem das Skript aktuell ausgeführt wird 
$_SERVER['HTTP_REFERER']  Der Referer, also die URL der Ursprungsseite, die den Browser per Link 
                          auf die aktuelle Seite verwiesen hat. 
                          Diese Angabe ist nicht bei jedem Browser verfügbar. 
$_SERVER['HTTP_USER_AGENT']  Die Browseridentifikation, die der skriptaufrufende Browser gesendet hat 
                          (User-Agent-Header). Diese enthält Angaben zu Browser, 
                          Browserversion und Betriebssystem .
$_SERVER['REMOTE_ADDR']   Die IP-Adresse des Rechners, der das Skript aufgerufen hat.
$_SERVER['SCRIPT_NAME']   Der Dateiname und Pfad des aktuell ausgeführten Skripts


PHP-Aufruf z.B. 
echo 'HTTP_USER_AGENT: '.$_SERVER['HTTP_USER_AGENT'];
echo 'Letzter Update: ' .date("d.m.Y,H:i", filemtime( basename( $PHP_SELF) ) );

Wie können bei PHP alle $_SERVER-Infos abgefragt werden?

<?php // ACHTUNG FEHLERHAFTER ROHENTWURF ...
$namen = array('PHP_SELF', 'argv', 'argc', 
'GATEWAY_INTERFACE', 'SERVER_ADDR', 'SERVER_NAME', 'SERVER_SOFTWARE', 
'SERVER_PROTOCOL', 'REQUEST_METHOD', 'REQUEST_TIME', 'REQUEST_TIME_FLOAT', 
'QUERY_STRING', 'DOCUMENT_ROOT', 'HTTP_ACCEPT', 'HTTP_ACCEPT_CHARSET', 
'HTTP_ACCEPT_ENCODING', 'HTTP_ACCEPT_LANGUAGE', 'HTTP_CONNECTION', 
'HTTP_HOST', 'HTTP_REFERER', 'HTTP_USER_AGENT', 'HTTPS', 
'REMOTE_ADDR', 'REMOTE_HOST', 'REMOTE_PORT', 'REMOTE_USER', 
'REDIRECT_REMOTE_USER', 'SCRIPT_FILENAME', 'SERVER_ADMIN', 
'SERVER_PORT', 'SERVER_SIGNATURE', 'PATH_TRANSLATED', 
'SCRIPT_NAME', 'REQUEST_URI', 'PHP_AUTH_DIGEST', 'PHP_AUTH_USER', 
'PHP_AUTH_PW', 'AUTH_TYPE', 'PATH_INFO', 'ORIG_PATH_INFO') ; 

$php_server = "";  
foreach ($namen as $name) { 
if (!isset($_SERVER[$name])) { $php_server .= $name . "= - \n"; 
} else {    $php_server .= $name . '=' . $_SERVER[$name] . "\n"; } 
} 
echo $php_server; 
?>

Wie sieht ein einfachste PHP-Datei aus, die auf ein AJAX-Request antwortet? Siehe z.B. Lehrdemo .

Plagiate sind out!
Viel Freude bei der Ausarbeitung!
Letzter Abgabetermine So 12.00 Uhr