Semaine 11

This commit is contained in:
gauvainboiche
2026-07-11 21:38:00 +02:00
parent d3d2416dea
commit 0d071d2843
281 changed files with 54412 additions and 0 deletions
+100
View File
@@ -0,0 +1,100 @@
# 5.3
## Créer les utilisateurs
```
uv run .\manage.py shell -c "from django.contrib.auth.models import User; User.objects.create_user('alice', 'alice@example.com', 'alicepass123'); User.objects.create_user('bob', 'bob@example.com', 'bobpass123'); print('Users created')"
```
## Créer les jetons
```
uv run .\manage.py shell -c "from django.contrib.auth.models import User; from rest_framework.authtoken.models import Token; print('ALICE:', Token.objects.get_or_create(user=User.objects.get(username='alice'))[0].key); print('BOB:', Token.objects.get_or_create(user=User.objects.get(username='bob'))[0].key)"
```
## Exposer les jetons
```
$ALICE = "49a597b676ef22f8bd33ed94d3e9e657c05c4338"
$BOB = "b710b34ee3244c4da396f6d7a81d5d6d02d94441"
```
## Créer équipement ALICE
```
$body = '{"hostname":"alice-srv","ip":"192.168.1.10","is_active":true}'
curl.exe -i -X POST -H "Authorization: Token $ALICE" -H "Content-Type: application/json" -d $body http://127.0.0.1:8000/api/equipments/
```
=> Résultat : 201
## Créer équipement BOB
```
$body = '{"hostname":"bob-srv","ip":"192.168.1.11","is_active":true}'
curl.exe -i -X POST -H "Authorization: Token $BOB" -H "Content-Type: application/json" -d $body http://127.0.0.1:8000/api/equipments/
```
=> Résultat : 201
## Lister équipement ALICE
```
curl.exe -i -H "Authorization: Token $ALICE" http://127.0.0.1:8000/api/equipments/
```
=> Résultat : 200
## Lister équipement BOB
```
curl.exe -i -H "Authorization: Token $BOB" http://127.0.0.1:8000/api/equipments/
```
=> Résultat : 200
## BOB tente de créer un équipement ALICE
```
$body = '{"hostname":"forged-srv","ip":"192.168.1.99","is_active":true,"owner":1}'
curl.exe -i -X POST -H "Authorization: Token $BOB" -H "Content-Type: application/json" -d $body http://127.0.0.1:8000/api/equipments/
```
=> Résultat : 201 (c'est pas normal) (alors en fait, même en forçant le "owner" avec "Alice" ça le créé pour Bob. Donc ça n'empêche pas la création mais ça empêche de le faire en un autre nom. J'investiguerai plus tard)
# 5.4
## 100 requêtes en tant que "Bob"
```
for ($i = 1; $i -le 100; $i++) {
curl.exe -s -o /dev/null -w "%{http_code}`n" -H "Authorization: Token $BOB" http://127.0.0.1:8000/api/equipments/
}
```
=> Résultat : que des 200.
En changeant :
`"DEFAULT_THROTTLE_RATES": {"user": "1000/day", "anon": "50/day"},`
en
`"DEFAULT_THROTTLE_RATES": {"user": "5/minute", "anon": "50/day"},`
J'obtiens bien :
```
> for ($i = 1; $i -le 100; $i++) {
>> curl.exe -s -o /dev/null -w "%{http_code}`n" -H "Authorization: Token $BOB" http://127.0.0.1:8000/api/equipments/
>> }
200
200
200
200
200
429
429
429
429
```
## 100 requêtes en tant que "Anon"