Frage Firebase Crash Logs mit redigierten URLs


Wir verwenden derzeit Firebase Crash-Berichte in unserer App - und wir haben etwas Merkwürdiges bemerkt. Um uns beim Debuggen von Abstürzen zu helfen, verwenden wir FirebaseCrash.log, um Informationen über die Serveranforderungen / -antworten an unsere Server hinzuzufügen.

Aber in letzter Zeit haben wir bemerkt, dass die Protokolle redigiert werden. Von dem, was wir sagen können, geschieht dies serverseitig, so dass wir Logs sehen, die wie folgt aussehen:

7: 51: 11.914 Uhr   gmp_nav20_crash   <- 201 https://[REDACTED_DOMAIN_NAME][REDACTED_URL_BASIC] (287ms, unbekannter Körper)

7: 51: 11.626 Uhr   gmp_nav20_crash   -> POST https://[REDACTED_DOMAIN_NAME][REDACTED_URL_BASIC] http / 1.1 (67-Byte Körper)

Gibt es eine Möglichkeit, das zumindest für bestimmte Domains zu deaktivieren? Es macht genau das ausfindig, was schief gelaufen ist, schwieriger als es sein sollte, und bietet keinen sinnvollen Schutz für den Benutzer, den ich sehen kann.


13
2017-09-11 14:59


Ursprung


Antworten:


Wie die obigen Kommentare zeigen, ist dies nicht konfigurierbar und Sie möchten, dass die Ergebnisse von der Firebase-Konsole lesbar sind. Ich empfehle, die URL so zu verarbeiten, dass die Tatsache, dass es sich um eine URL handelt, visuell lesbar ist. Achten Sie jedoch darauf, dass Sie dies nur bei nicht sensiblen Informationen tun - vor allem, wenn Sie sich in Europa mit neuen DSGVO-Vorschriften befinden.

Es könnte so einfach sein wie:

url.replaceAll("\\.", "[dot]");

Aber ich würde vorschlagen, das Protokoll (und vielleicht auch die Schrägstriche) zu maskieren

url.replaceAll("https://", "[secure]")
   .replaceAll("http://", "")
   .replaceAll("\\.", "[dot]");

Bearbeiten (Um Bounty-Frage zu beantworten: "Ist es legal, Base64-codierte URLs und Domain-Namen gemäß Firebase-Richtlinien zu verfolgen?")

Entsprechend der Firebase-Richtlinien Seite

Sie werden die Zusammenführung von persönlich identifizierbaren Informationen mit nicht persönlich identifizierbaren Informationen nicht erleichtern, es sei denn, Sie haben eine solide Kenntnis davon und die vorherige positive Zustimmung des Benutzers (d. H. Opt-in) zu dieser Fusion.

Angenommen, Sie haben keine Einwilligung verlangt, würde dies bedeuten, dass Sie alle Anfragen oder identifizierbaren Informationen von der URL streichen sollten.

Dies könnte wiederum so einfach sein wie das Teilen der Zeichenkette beim ersten oder letzten Schrägstrich (falls vorhanden), je nachdem, welche Teile der URL für Sie wichtig sind


3
2018-03-13 09:10



Konvertieren Sie URL-Zeichenfolge in Base64-Zeichenfolge und senden Sie codierte Zeichenfolge

        public static String toBase64(String stringToEncode){
        String base64 = null;
        try {
            byte[] data = stringToEncode.getBytes("UTF-8");
            base64 = Base64.encodeToString(data, Base64.DEFAULT);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return base64;
    }

FirebaseCrash.report(new Exception("Error while downloading image with URL (Base 64 encoded):" + StringUtils.toBase64(s)));

1
2018-01-16 13:23