2016-04-27 4 views
1

Einer unserer Benutzer (wahrscheinlich versehentlich statt böswillig) hat Lyfts SMS-Servicenummer als Telefonnummer eingegeben. Daher arbeitet unser SMS-Textdienst in einer Schleife mit dem SMS-Textdienst von Lyft zusammen. Siehe Protokolle unten: Erkennung der Twilio-Servicenummer zur Verhinderung einer SMS-Antwortschleife

Ich frage mich, ob es eine Möglichkeit gibt, diese Art von Maschine-Maschine-SMS-Schleife zu erkennen und zu verhindern, dass es passiert. Wir verwenden Twilio API, um unser SMS-Auto-Response-System und so does Lyft zu betreiben.

Antwort

3

Nehmen Sie einfach eine Änderung in Ihrer App-Logik vor, die nach einer festgelegten Anzahl identischer Nachrichten nicht mehr antwortet (speichern Sie für einige Minuten einen Hash aller Nachrichten in Memcache oder etwas Ähnliches). Für SMS-Nachrichten gibt es keine Metadaten Damit können Sie den Urheber als einen weiteren automatisierten Dienst eindeutig identifizieren.

+0

Danke pilsetnieks. Wie @ Megan-speir von Twilio erwähnt, gibt es bereits ein eingebautes Ratenlimit für TwiML und ein Überschreiten dieses Ratenlimits würde zu einem API-Fehlercode 14107 führen. – Devy

2

Sie erleben die folgenden: https://www.twilio.com/docs/api/errors/14107

Ein Zähler wird für jede ausgehende TwiML Antwort in einem Gespräch festgelegt (zwischen zwei Zahlen). Wenn die erste Antwort auftritt, beginnt der Zähler bei 1. Wenn die nächste Antwort weniger als 15 Sekunden nach der vorherigen Antwort gesendet wird, geht der Zähler auf 2. Dies wird fortgesetzt, wenn jede Antwort weniger als 15 Sekunden dauert, bis der Zähler übertrifft 20, wo Twilio alle 30 Sekunden gesendeten Nachrichten festhält und diesen Fehler auslöst.

Sie könnten die Verwendung des Lookup API in Erwägung ziehen, um Servicenummern zu ermitteln, die je nach den Kriterien möglicherweise nicht erfolgreich sind.

Ich würde vorschlagen, dass Sie eine Beispiel-Anfrage und Antwort auf this page mit der fraglichen Nummer versuchen und einen Blick auf die zurückgegebenen Parameter, um zu entscheiden, ob dies in diesem Szenario geholfen haben könnte.

+1

Die Nummern-Lookups werden nicht helfen - sie würden dem tatsächlichen Betreiber geben Nummer gehört zu. Selbst wenn Twilio die Informationen, die sie tatsächlich verwenden, freiwillig zur Verfügung stellt, wird es das gleiche Problem mit einem anderen Messaging-Dienst wie Nexmo oder was auch immer verhindern. Der 14107-Fehler kann jedoch hilfreich sein - aber nicht 100% schlüssig. – pilsetnieks

+0

@pilsetnieks 14107 ist definitiv besser als nichts. Ziemlich sicher, wenn es nicht Rate-begrenzt wäre, wird es als ein Denial-of-Service-Angriff verwendet werden. Das lässt mich auch darüber nachdenken, warum Neustar (alias NANPA-Administrator) nicht mit einer Servicenummer-Registrierung aufwarten konnte, genau wie sie es für kurze Codes tun. – Devy