Als ich eine Dating-App im Tinder-Stil nutzte, bei der die Anwendung nach einem gegenseitigen Like die beteiligten Personen miteinander in Kontakt bringt, ist mir aufgefallen, dass sie zur Bewerbung ihres Premium-Plans unscharfe Bilder verwendet haben, um Sie vorzustellen die Personen, die in Ihrem Profil auf die Schaltfläche „Gefällt mir“ geklickt haben.
Nachdem ich ein paar Übereinstimmungen hatte, bemerkte ich, dass die unscharfen Bilder zu echten Konten gehörten, das heißt, es handelte sich nicht um eine Reihe allgemeiner Bilder oder Platzhalter.
Beispiel für den Unschärfeeffekt bei der Fotografie
Es klang zu offensichtlich, also öffnete ich die Entwicklerkonsole meines Browsers und ging zum CSS-Code, um meinen Verdacht zu überprüfen. Sie können unmöglich einen so einfachen Fehler machen – dachte ich – sie schützen die Identität der Fotos mit einem einfachen CSS-Filter: Unschärfe.
.hidden-image { filter: blur(4px); }
Bildverarbeitung dieser Dating-App.
Die tatsächlichen Bilder wurden vom CDN dieser App bereitgestellt und dann wurde ein Filter angewendet, um sie auszublenden. Um also herauszufinden, wem Sie gefallen haben, mussten Sie nur den Filter entfernen.
Leider war es nicht möglich, andere Daten aus den Bildern oder aus der URL-Struktur, API-Aufrufen oder anderen Angaben zu erhalten; Weder der Name, noch das Profil oder andere Informationen außer dem Profilbild waren zugänglich.
Wie verstecke ich Bilder in Dating-Apps?
Sicherlich war das ein Architekturfehler, es ist zwar sehr einfach, die Bilder im Frontend auszublenden, mit CSS spart man Speicherplatz und vermeidet Verarbeitungszeit im Backend, aber eine bessere Option wäre die Verwendung gewesen eine Reihe allgemeiner Bilder für alle Konten.
Eine andere Alternative wäre gewesen, automatisch jedes Mal, wenn ein Benutzer sein Hauptprofilbild aktualisiert, ein Miniaturbild (und andere Änderungen, wie z. B. das Ändern des Formats, Beispiel: webp) zu generieren; Es verbraucht etwas mehr Platz, schützt aber die echten Bilder und personalisiert das Erlebnis für jeden Benutzer.
Ausnutzen des Fehlers mit einer Browsererweiterung
Um den Fehler auszunutzen, habe ich ein kleines Javascript-Skript erstellt und es in eine Erweiterung integriert, um den Prozess der Entsperrung jedes Mal zu automatisieren, wenn ich die Seite betrete.
Dieses kleine Versehen der Entwickler dauerte etwa zwei Jahre. Der Fehler wurde nun behoben. Wenn Sie also versuchen, auf den Haupt-Dating-Seiten nach dem Fehler zu suchen, werden Sie ihn nicht mehr finden. Dies ist auch der Hauptgrund, warum ich beschlossen habe, darüber zu posten
Die Anwendung hat den Code für ihre Webversion geändert, wobei der Rest der Benutzeroberfläche nahezu intakt blieb, und hat sich dafür entschieden, für jedes Konto ein verschleiertes Miniaturbild zu erstellen, es jedoch vom Backend aus zu verarbeiten, sodass es völlig unmöglich ist, das echte Bild zu erhalten .
Haben Sie das auch ausgenutzt? Bonuspunkte, wenn Sie den Namen der Website kennen.
Das obige ist der detaillierte Inhalt vonIch habe einen Fehler im Code einer Dating-App ausgenutzt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Wie sieht es aus, Ihren eigenen Code neu zu gestalten? John Rhea nimmt eine alte CSS -Animation auseinander, die er geschrieben hat, und geht durch den Denkprozess der Optimierung.

CsSanimationsarenotinherenthardbutRequirePractICEANDUnDing-fordertofcsPropertiesandTimingfunktionen.1) StartwithsimpleanimationslikescalingabuttononoversKeyFrames.2) useaSingFunctionslikecubic-BezierForteffects, SuchasabouNects, SuchasabouNects,, zu

@KeyFramesispopulardUeToitSverSatility und PowerIncreatingsmoothcsSanimations.KectrickSinclude: 1) DefiningsmoothTransitionSbetTates, 2) AnimatingMultipleProperTiesimultan, 3) mit VendorprefixesforBrowserCompatible, 4) Kombinieren, 4) Kombinieren, 4) Kombinieren, 4) Kombinieren, 4) Kombinieren

CSSCOUSTERSSARUSTOMANAGEAUTOMATICNUMBERINGINWEBDEsigns.1) Sie konzipieren SieForsofcontents, ListItems und CustomNumbering.2) AdvanceduSesincnednumberingSystem.3) CHEFORDIGESINCLUDSERCOMPATIBILIBLEISE.4) CreativeuSinvolvecustInance

Die Verwendung von Scroll -Schatten, insbesondere für mobile Geräte, ist ein subtiles Stück UX, das Chris zuvor abgedeckt hat. Geoff deckte einen neueren Ansatz ab, der die Immobilie der Animationszeit verwendet. Hier ist ein anderer Weg.

Lassen Sie uns eine kurze Auffrischung durchlaufen. Bildkarten datieren bis zu HTML 3.2, wobei zuerst die serverseitigen Karten und dann die clientseitigen Karten klickbare Regionen über ein Bild mit Karten- und Bereichselementen definiert sind.

Die Umfrage von State of Devs ist nun offen für die Teilnahme und deckt im Gegensatz zu früheren Umfragen alles außer Code ab: Karriere, Arbeitsplatz, aber auch Gesundheit, Hobbys und mehr.

CSS Grid ist ein leistungsstarkes Tool zum Erstellen komplexer, reaktionsschneller Weblayouts. Es vereinfacht das Design, verbessert die Zugänglichkeit und bietet mehr Kontrolle als ältere Methoden.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Dreamweaver CS6
Visuelle Webentwicklungstools
