Reacties op het script Class: IRC Bot
|
Gepost op: 05 maart 2009 - 18:38 |
|
|
|
Crew algemeen
|
Ik heb toch enkele bedenkingen bij dit script:
- setOwners:
$this->config['owners'] = array(); //set $this->config['owners'] to array
$this->config['owners'] = array(); //set $this->config['owners'] to array
Waarom reset je de array steeds? Is het niet handiger om hier elementen aan toe te voegen?
Je zou bvb een functie kunnen toevoegen in de bot zodat je iemand anders owner kan maken dmv PRIVMSG bot ADDOWNER <user> oid...
- je rechten systeem:
Het is echt gevaarlijk om rechten zo toe te kennen. Ik maak even een schets:
* Ik (wimmarien) ben een "owner" van de bot. Dit is geconfigureerd dmv setOwners().
* Ik zit op irc en iedereen ziet dat ik owner ben van de bot omdat ik de admin-commando's gebruik
* plotseling disconnect ik...
* IEDEREEN kan nu zijn nickname naar "wimmarien" veranderen en daardoor admin worden... Op vele servers (waaronder de server waar sima zit bvb) kan je een nickname wel registreren, toch hebben de kwaadwilligen dan nog ruwweg 1 minuut de tijd om alles te doen wat ze willen...
Waarschijnlijk kan je beter een typisch login script gebruiken op basis van een gebruikersnaam en wachtwoord; op deze manier kan je ook de controle over de bot behouden als iemand anders je nickname gestolen heeft... |
|
|
|
Gepost op: 05 maart 2009 - 18:43 |
|
|
|
PHP interesse
|
wimmarien schreef: Ik heb toch enkele bedenkingen bij dit script:
- setOwners:
[..code..]
Waarom reset je de array steeds? Is het niet handiger om hier elementen aan toe te voegen?
Je zou bvb een functie kunnen toevoegen in de bot zodat je iemand anders owner kan maken dmv PRIVMSG bot ADDOWNER <user> oid...
- je rechten systeem:
Het is echt gevaarlijk om rechten zo toe te kennen. Ik maak even een schets:
* Ik (wimmarien) ben een "owner" van de bot. Dit is geconfigureerd dmv setOwners().
* Ik zit op irc en iedereen ziet dat ik owner ben van de bot omdat ik de admin-commando's gebruik
* plotseling disconnect ik...
* IEDEREEN kan nu zijn nickname naar "wimmarien" veranderen en daardoor admin worden... Op vele servers (waaronder de server waar sima zit bvb) kan je een nickname wel registreren, toch hebben de kwaadwilligen dan nog ruwweg 1 minuut de tijd om alles te doen wat ze willen...
Waarschijnlijk kan je beter een typisch login script gebruiken op basis van een gebruikersnaam en wachtwoord; op deze manier kan je ook de controle over de bot behouden als iemand anders je nickname gestolen heeft...
over het rechten systeem: misschien zoals je in de code kan zien moet je de gebruiker is 'activeren' voordat je de admin functies kan gebruiken. Na het activeren moet je 1:30 min wachten voordat je het kan gebruiken. |
|
|
|
Gepost op: 05 maart 2009 - 18:56 |
|
|
|
Crew algemeen
|
Dus als een netwerk een gebruiker 2 minuten de tijd geeft om zich te identificeren is het nog steeds 30 seconden onveilig? Als ze 5 minuten geven is het 3:30min onveilig..?
Wat trouwens als de nickname niet geregistreerd is? Dan blijft de gebruiker admin tot dat hij het kannaal verlaat? |
|
|
|
Gepost op: 08 maart 2009 - 21:51 |
|
|
|
PHP interesse
|
wimmarien schreef: Dus als een netwerk een gebruiker 2 minuten de tijd geeft om zich te identificeren is het nog steeds 30 seconden onveilig? Als ze 5 minuten geven is het 3:30min onveilig..?
Wat trouwens als de nickname niet geregistreerd is? Dan blijft de gebruiker admin tot dat hij het kannaal verlaat?
Daar heb ik nog niet aan gedacht. Ik zal eens kijken hoe het beter kan |
|
|
|
Gepost op: 09 maart 2009 - 19:29 |
|
|
|
PHP interesse
|
|
|
|
Gepost op: 10 maart 2009 - 08:48 |
|
|
|
PHP expert
|
Hele mooie class, heb alleen 2 opmerkingen.
Dit stukje staat in je voorbeeld onderaan
<?php
$bot->setIdentity('Nickname, 'Realname', 'ident');
?>
<?php $bot->setIdentity('Nickname, 'Realname', 'ident'); ?>
Je vergeet echter een quote achter Nickname. En ik mis commentaar in je code. Bedoel niet commentaar bij elke regel maar desnoods per "blok". |
|
|
|
Gepost op: 15 maart 2009 - 13:58 |
|
|
|
Nieuw lid
|
Jammer dat het alleen voor 5.3 is, dat draai ik niet, nog geen officiele release hè |
|
|
Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom. |
|
|
|