Projekt

Allgemein

Profil

Aktionen

GX-Task #70799

geschlossen

Sperre bei der EU durch überdurchschnittliche Nutzung der VAT-API / Optimize usage of the VAT ID check API

Von Philip Rogge vor 12 Monaten hinzugefügt. Vor 6 Monaten aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
Josua Michalak
Kategorie:
Core
Zielversion:
% erledigt:

100%

Steps to reproduce:
Betroffene Versionen:
4.9.1.0, 4.9.2.0
Release Notes Langtext:

USt-IdNr-Prüfung optimiert: Wesentliche Reduktion der Anfragen an VIES-API


Beschreibung

Description :
Using the EU's VAT ID Check API, the VAT identification number can be checked.
The EU blocks the IP address of the shop if the API is misused. It is possible to misuse the API via the shop.

How to reproduce
If the live check of the VAT ID is activated in the shop, a request is always sent to the EU during creation of a customer account, even if only a "1" is entered as the VAT ID.

  1. Register and enter something to the Vat ID field
  2. Repeat 10.000 times in a short period of time. (i.e. with a bot that spams registrations)

What should we do now?

  1. Refactor VAT ID check to avoid redundancy. There are currently two different mechanisms in use for checking the VAT ID: One legacy class used for registration, one service used for updating existing customers VAT ID from the admin interface.
  2. The shop should already check the format of the VAT ID.(Two letters followd by a bunch of numbers) If this is not valid, there shouldn't be a request to the API. Show an error message.
  3. Cache the result of the API for one hour. So if the same number is requested several times in a row only one request per hour to the API is made.
  4. implement a limit (max 3 vatid-live-check-calls per IPadress per minute) to avoid too many requests to the VAT ID Check API.

How can I test this?

Registration - invalid VAT-ID:

  1. Install Shop
  2. Create a new account using an invalid VAT-ID.

Expected result:
The registration fails displaying an error informing the user about the VAT-ID being invalid.

Registration - valid VAT-ID:

  1. Install Shop
  2. Create a new account using a valid VAT-ID.

Expected result:
The registration completes without issues.

Changing VAT-ID of existing account - invalid VAT-ID.

  1. Install Shop
  2. Login as admin.
  3. Go to Customers, open the existing customer's account.
  4. Under "BUSINESS INFORMATION" edit the VAT-ID and change it to an invalid one.

Expected result:
The VAT-ID gets saved but the symbol for "VAT ID not verified" is displayed under the customer's name on the same screen.

Changing VAT-ID of existing account - valid VAT-ID.

  1. Install Shop
  2. Login as admin.
  3. Go to Customers, open the existing customer's account.
  4. Under "BUSINESS INFORMATION" edit the VAT-ID and change it to a valid one.

Expected result:
The VAT-ID gets saved and the symbol for "VAT ID verified" is displayed under the customer's name on the same screen.



Untergeordnete Tickets

Aktionen #1

Von Till Tepelmann vor 12 Monaten aktualisiert

  • Tracker wurde von GX-Bug zu GX-Feature geändert
  • Kategorie wurde auf Core gesetzt
  • Betroffene Versionen 4.9.1.0, 4.9.2.0 wurde hinzugefügt
  • Betroffene Versionen Unbestimmt wurde gelöscht
Aktionen #2

Von Hendrik Bahr vor 12 Monaten aktualisiert

  • Tags wurde auf 4.9.3.0_beta1 gesetzt
  • Tracker wurde von GX-Feature zu GX-Task geändert
  • Thema wurde von Optimize usage of the VAT ID check API zu Sperre bei der EU durch überdurchschnittliche Nutzung der VAT-API / Optimize usage of the VAT ID check API geändert
  • Beschreibung aktualisiert (Vergleich)
  • Status wurde von Gemeldet zu Anerkannt geändert
Aktionen #3

Von Hendrik Bahr vor 12 Monaten aktualisiert

  • Beschreibung aktualisiert (Vergleich)
  • Privat wurde von Ja zu Nein geändert

I discussed the issue with Philip if there are any questions ask me.

Aktionen #4

Von Till Tepelmann vor 9 Monaten aktualisiert

  • Tags wurde von 4.9.3.0_beta1 zu 4.11.1.0 beta1 geändert
Aktionen #5

Von Till Tepelmann vor 8 Monaten aktualisiert

  • Tags wurde von 4.11.1.0 beta1 zu 4.9.4.0_beta1 geändert
Aktionen #6

Von Rico Schreiber vor 7 Monaten aktualisiert

  • Status wurde von Anerkannt zu In Bearbeitung geändert
  • Zugewiesen an wurde auf Rico Schreiber gesetzt
Aktionen #7

Von Rico Schreiber vor 7 Monaten aktualisiert

  • Beschreibung aktualisiert (Vergleich)
  • Status wurde von In Bearbeitung zu Testing geändert
  • Zugewiesen an Rico Schreiber wurde gelöscht
  • Zielversion wurde auf 4.9.4.0 gesetzt
  • Release Notes Langtext aktualisiert (Vergleich)
Aktionen #9

Von Krystian Czerwinski vor 7 Monaten aktualisiert

  • Zugewiesen an wurde auf Krystian Czerwinski gesetzt
Aktionen #10

Von Krystian Czerwinski vor 7 Monaten aktualisiert

  • Zugewiesen an Krystian Czerwinski wurde gelöscht
Aktionen #12

Von Rico Schreiber vor 6 Monaten aktualisiert

Aktionen #13

Von Rico Schreiber vor 6 Monaten aktualisiert

Aktionen #14

Von Krystian Czerwinski vor 6 Monaten aktualisiert

  • Zugewiesen an wurde auf Krystian Czerwinski gesetzt
Aktionen #16

Von Krystian Czerwinski vor 6 Monaten aktualisiert

  • Zugewiesen an Krystian Czerwinski wurde gelöscht
Aktionen #17

Von Josua Michalak vor 6 Monaten aktualisiert

  • Status wurde von Testing zu Erledigt geändert
  • Zugewiesen an wurde auf Josua Michalak gesetzt
Aktionen

Auch abrufbar als: Atom PDF