Seite 1 von 1

Sicherheit der Infos bei API abfrage

Verfasst: Dienstag 30. Dezember 2014, 19:13
von Serpens66
Ich frage hier ein paar Dinge ab, z.b die Balance über Get_Balance:
https://www.therock.com/en/pages/api

dazu müssen folgende Parameter bei Abfrage übergeben werden:
Params: username, password, api_key, type_of_currency - the currency you want to get the balance of

Das habe ich jetzt mithilfe eines fertigen Skripts welches Python2 war, in Python3 so umgesetzt:

Code: Alles auswählen

    def GetBalance(self, currency):
        try:
            url = 'https://www.therock.com/api/get_balance'
            values = {
            'username' : self.username,
            'password' : self.password,
            'api_key'  : self.key,
            'type_of_currency' : currency
            }        
            Balance = requests.post('https://www.therock.com/api/get_balance', data=values).json()
            return Balance
        except:
            return None
Nun ist meine Frage:
Wie sicher ist diese Abfrage? Hiebei sende ich ja direkt den Usernamen, das Passwort und den API Key mit. Ist das genauso sicher/unsicher, wie wenn ich mich ganz normal in meinen Account einlogge? Oder sollte ich da noch weitere Maßnahmen ergreifen, bevor ich in dem genutzten Account größere Mengen Geld nutze?

Re: Sicherheit der Infos bei API abfrage

Verfasst: Dienstag 30. Dezember 2014, 20:43
von BlackJack
@Serpens66: Die Verbindung ist SSL-Verschlüsselt. Wenn Dir das als Sicherheit reicht, okay, falls nicht, dann lass die Finger davon. Allerdings dann auch gleich ganz, also auch im Browser nicht nutzen. :-)

Re: Sicherheit der Infos bei API abfrage

Verfasst: Dienstag 30. Dezember 2014, 21:03
von Serpens66
BlackJack hat geschrieben:@Serpens66: Die Verbindung ist SSL-Verschlüsselt. Wenn Dir das als Sicherheit reicht, okay, falls nicht, dann lass die Finger davon. Allerdings dann auch gleich ganz, also auch im Browser nicht nutzen. :-)
okay danke, das wollte ich wissen :)

Re: Sicherheit der Infos bei API abfrage

Verfasst: Mittwoch 31. Dezember 2014, 12:46
von Sirius3
@Serpens66: warum wird url als Variable nicht benutzt und gleichzeitig direkt im post-Aufruf angegeben? Ich würde das als Konstante irgendwo an den Anfang stellen. Für die Schreibweise von Namen solltest Du Dich an die Konventionen halten (PEP8). Das nackte except verschluckt jede Fehlermeldung, also auch nicht-json-serialisierbare Parameter, das kann die Fehlersuche nahezu unmöglich machen. Fang also nur Verbindungsrelevante Fehler ab, und versuche irgendwie den Fehler auf weiterzureichen, damit klar wird, ob nur das Passwort falsch ist, oder sich die API geändert hat oder nur die Verbindung nicht aufgebaut werden kann.

Re: Sicherheit der Infos bei API abfrage

Verfasst: Mittwoch 31. Dezember 2014, 14:24
von Serpens66
Sirius3 hat geschrieben:@Serpens66: warum wird url als Variable nicht benutzt und gleichzeitig direkt im post-Aufruf angegeben? Ich würde das als Konstante irgendwo an den Anfang stellen. Für die Schreibweise von Namen solltest Du Dich an die Konventionen halten (PEP8). Das nackte except verschluckt jede Fehlermeldung, also auch nicht-json-serialisierbare Parameter, das kann die Fehlersuche nahezu unmöglich machen. Fang also nur Verbindungsrelevante Fehler ab, und versuche irgendwie den Fehler auf weiterzureichen, damit klar wird, ob nur das Passwort falsch ist, oder sich die API geändert hat oder nur die Verbindung nicht aufgebaut werden kann.
Das ist wie gesagt jetzt nur das "schlechte" python2 skript was ich mir runtergeladen habe, so in python3 mit requests umgeschrieben, dass es funktioniert. Dass ich die url doppelt schreibe und somit die variable nicht, ist einfach im eifer des gefechts passiert, verbessere ich also noch ;)
Stimmt, "None" hilft nicht viel bei der fehlersuche, werde da dann die Fehlermedlung der API ausgeben lassen.

Schreibkonventionen muss ich mal schauen... Habe mir da jetzt eine seite ergooglet, wo ein bisschen was steht...versuche mir mal die häufigsten verwendeten Dinge zu merken... wobei ich mich nicht mit anfreunden kann, dass definitionen und variablen dieselbe schreibweise haben sollen. Da gefällt mir die "GetBalance" schreibweise in diesem Skript hier deutlich besser.

Re: Sicherheit der Infos bei API abfrage

Verfasst: Mittwoch 31. Dezember 2014, 14:38
von EyDu
Serpens66 hat geschrieben:Schreibkonventionen muss ich mal schauen... Habe mir da jetzt eine seite ergooglet, wo ein bisschen was steht...versuche mir mal die häufigsten verwendeten Dinge zu merken...
PEP 8 in der Dokumentation.
Serpens66 hat geschrieben:wobei ich mich nicht mit anfreunden kann, dass definitionen und variablen dieselbe schreibweise haben sollen. Da gefällt mir die "GetBalance" schreibweise in diesem Skript hier deutlich besser.
Das ist ja schön, dass deine Schreibweise dir besser gefällt, aber im Python-Umfeld ist diese nicht üblich ;-) Wenn du mit einer Sprache arbeitest, dann solltest du dich an deren Gepflogenheiten orientieren. Das verbessert die Verständlichkeit deutlich.