derUwe.de ist eine private Seite |
Impressum
erzeugt mit Wordpress |
benutzt ein modifiziertes Snowblind Theme
Ich mag Personensuchmaschinen nicht. Also warum nicht mal spaßeshalber einen Generator für zufällige Personen bzw. Adressen bauen? Nette Idee wie ich fand, also mal schnell was zusammen gefummelt.
Die nachfolgende PHP-Klasse erzeugt eine zufällige Adresse. Dazu werden die Textdateien benötigt, in welchen ich in Handarbeit Namen, Straßennamen sowie Postleitzahlen und Orte (unabhängig voreinander) zusammengesammelt habe. Aus diesem Pool generiert die PHP-Klasse einen zufällige Namen mit Postanschrift.
Bei diesen so erzeugten Adressen paßt jeweils die Postleitzahl auch zum Ort. Möchte jemand die Echtheit einer solchen Fake-Adresse überprüfen bzw. feststellen ob dies ein Fake ist, bräuchte er eine gute Datenbank über alle Straßennamen vor Ort bzw. echte Adressdaten zum Abgleich. Es läßt sich also mit hoher Wahrscheinlichkeit nicht technisch feststellen, ob es sich um eine echte Adresse handelt. Natürlich wird es auch seltene Fälle geben wo die Person und deren Adresse wirklich stimmt. Das bleibt allerdings dem Zufall überlassen.
Folgende Datensätze sind enthalten
- 1249 männliche Vornamen
- 1695 weibliche Vornamen
- 3421 Nachnamen
- 7275 Straßennamen
- 13749 (deutsche) Ortsnamen mit Postleitzahl
Damit sind rein rechnerisch ~1.000.000.000.000.000 verschiedene Personen generierbar, wenn man die Hausnummern noch nicht einmal in die Rechnung mit einbezieht.
Bei den Vor- und Nachnamen habe ich versucht darauf zu achten, dass sie nicht all zu exotisch sind. Ich hoffe es ist gelungen. Wer die Daten einsetzt, sollte prüfen ob sein Namen darin vorkommt und ihn nötigenfalls nachtragen.
Lizenz gibt es keine – macht damit was ihr wollt. Ich würde mich allerdings über einen Link auf meine Seite freuen.
Viel Spaß beim Spielen ;)
Quellcode der PHP-Klasse
<?php
class Adresse {
// Dateien sind in uft-8
var $fileVornamenFrau = './vornamen_frau.txt';
var $fileVornamenMann = './vornamen_mann.txt';
var $fileVornamenEgal = './vornamen_egal.txt';
var $fileNachnamen = './nachnamen.txt';
var $fileStrassen = './strassen.txt';
var $filePlzOrt = './plz-ort.txt';
// $geschlecht=0 -> egal
// $geschlecht=1 -> Mann
// $geschlecht=2 -> Frau
// return array
function get($geschlecht=0) {
return array(
'vorname'=>$this->getVorname($geschlecht),
'nachname'=>$this->getNachname(),
'strasse'=>$this->getStrasse(),
'nummer'=>$this->getHausnummer(),
'ort'=>$this->getPlzOrt()
);
}
// $geschlecht=0 -> egal
// $geschlecht=1 -> Mann
// $geschlecht=2 -> Frau
// return string
function getHTML($geschlecht=0) {
return '<address>'."\n".
$this->getVorname($geschlecht).' '.$this->getNachname().'<br />'."\n".
$this->getStrasse().' '.$this->getHausnummer().'<br />'."\n".
$this->getPlzOrt()."\n".
'</address>'."\n";
}
/* ---------------------------------- internal -------------------------------------- */
// $geschlecht=0 -> egal
// $geschlecht=1 -> Mann
// $geschlecht=2 -> Frau
// return string
function getVorname($geschlecht=0) {
switch ($geschlecht) {
case 1:
return $this->_getRandomLine($this->fileVornamenMann);
break;
case 2:
return $this->_getRandomLine($this->fileVornamenFrau);
break;
default:
return $this->_getRandomLine($this->fileVornamenEgal);
}
}
// return string
function getNachname() {
return $this->_getRandomLine($this->fileNachnamen);
}
// return string
function getHausnummer($min=1,$max=99) {
$result = rand($min,$max);
if (rand(0,100)<=20) {
// fügt mit 20% Wahrscheinlichkeit
// einen Buchstaben zur Nummer hinzu
$buchstaben = array('a','b','c');
$result .= $buchstaben[rand(0,(count($buchstaben)-1))];
}
return $result.'';
}
// return string
function getStrasse() {
return $this->_getRandomLine($this->fileStrassen);
}
// return string
function getPlzOrt() {
return $this->_getRandomLine($this->filePlzOrt);
}
// return string
function _getRandomLine($file) {
$list = @file($file);
if (!is_array($list) || count($list) < 1) return false;
return trim($list[rand(0,(count($list)-1))]);
}
}
?>

12. Januar 2010 um 22:57
Lieber Uwe, es erstaunt mich doch ziemlich, dass mein VOLLSTÄNDIGER Name als Beispiel für dein System über yasni gefunden wird. Ob exotisch oder nicht, bitte entfernen.
14. Januar 2010 um 14:45
Wie nachvollziehbar ist handelt es sich lediglich um einen Zufall. Ich werde deinen Namen nicht entfernen, zumal er mir auch nicht bekannt ist. Das du deinen Namen hier finden konntest werte ich mal als Beweis für die Qualität des Adress-Generator. ;)
13. März 2010 um 11:55
ich find den cool … der richtige weg … um der ständigen überwachung zu begegnen.
21. Mai 2010 um 00:08
Genau das hab ich gesucht! Super! Vielen Dank!
21. Mai 2010 um 12:46
@Uwe, leider bin ich Programmier-Analphabet, wie kann man denn die generierten Adressen als csv ausgeben? Das wäre sehr praktisch;)
21. Mai 2010 um 14:07
[...] gab einen Kommentar in meinem Beitrag zum Adressgenerator, welcher dynamisch Personen mit zufälliger Adresse generiert. Da wurde nach der Lösung gefragt [...]
6. Juli 2010 um 13:26
[...] hier gibts den Adressgenerator bei deruwe.de inklusive einer kleinen [...]