fix(kontakte): LinkedIn-Foto nur aus der Vorschau, klarere Meldung
Anlass: Bei einem Kontakt kam das Foto, beim naechsten nicht. Der Vergleich der beiden Profilseiten zeigt warum - das zweite Profil liefert als og:image nur LinkedIns Ersatzgrafik (static.licdn.com/aero-v1/sc/h/...), weil die Sichtbarkeit des Fotos auf "Meine Kontakte" steht. Angemeldet sieht man es, der Abruf hier ist es nicht. Zwei Konsequenzen: * Die Rueckfallebene "erste media.licdn.com-Adresse im Quelltext" faellt weg. Dieselbe Seite enthaelt 24 solcher Adressen: Firmenlogos, Beitragsbilder und die Fotos der "aehnlichen Profile" am Rand. Nur die Open-Graph-Vorschau gehoert nachweislich zum aufgerufenen Profil - alles andere haette irgendwann ein fremdes Gesicht an einen Kontakt gehaengt. * Die Meldung sagt jetzt, was wirklich los ist: "nur fuer Kontakte sichtbar oder es gibt keines" statt "hat kein eigenes Foto". Von aussen sind die beiden Faelle nicht unterscheidbar. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
0a2cf52e8a
commit
46983a7e2c
+13
-4
@@ -140,13 +140,22 @@ Der Weg in Stichpunkten und die Gründe dafür:
|
||||
der Seite heraus scheitert an der Same-Origin-Policy.
|
||||
* **Browser-Kennung im Kopf.** Ohne `User-Agent` antwortet LinkedIn oft gar
|
||||
nicht erst.
|
||||
* **Nur `og:image`/`twitter:image`**, ersatzweise eine `media.licdn.com`-Adresse
|
||||
aus dem Quelltext. Es wird nichts angemeldet und nichts Geschütztes gelesen.
|
||||
* **Nur `og:image`/`twitter:image`** - und sonst nichts. Im übrigen Quelltext
|
||||
wird bewusst *nicht* gesucht: eine Profilseite enthält Dutzende Adressen des
|
||||
LinkedIn-CDN (Firmenlogos, Beitragsbilder, die Fotos der „ähnlichen Profile"
|
||||
am Rand). Die erste davon zu nehmen, hängt einem Kontakt irgendwann das
|
||||
Gesicht einer fremden Person an. Es wird nichts angemeldet und nichts
|
||||
Geschütztes gelesen.
|
||||
* **Herkunft wird geprüft.** Das Bild muss über `https` von `licdn.com` kommen
|
||||
und `/dms/image/` im Pfad haben - sonst könnte eine manipulierte Seite eine
|
||||
beliebige Adresse unterschieben.
|
||||
* **Platzhalter werden abgewiesen.** Profile ohne eigenes Foto liefern eine
|
||||
graue Silhouette (`ghost` im Pfad); die soll kein Kontaktfoto werden.
|
||||
* **Platzhalter werden abgewiesen.** Statt eines Fotos liefert LinkedIn dann die
|
||||
graue Silhouette (`ghost` im Pfad) oder eine feste Grafik von
|
||||
`static.licdn.com` (`/aero-v1/sc/h/...`). Das passiert in zwei Fällen, die von
|
||||
außen nicht unterscheidbar sind: Das Profil hat kein Foto, **oder** dessen
|
||||
Sichtbarkeit steht auf „Meine Kontakte" statt „Alle LinkedIn-Mitglieder". Im
|
||||
zweiten Fall sieht man das Foto angemeldet sehr wohl - der Abruf hier ist aber
|
||||
nicht angemeldet. Die Meldung nennt deshalb beide Möglichkeiten.
|
||||
* **Grenzen:** 12 s Zeitlimit je Anfrage, höchstens 5 MB Bild.
|
||||
|
||||
Gibt LinkedIn die Seite nicht heraus (Status 999 oder 403 bei zu vielen
|
||||
|
||||
Reference in New Issue
Block a user