login  Naam:   Wachtwoord: 
Registreer je!
Scripts > PHP > Handige scripts > Class: IRC Bot


Reacties op het script Class: IRC Bot

Offline  Wim
Gepost op: 05 maart 2009 - 18:38
Crew algemeen



Ik heb toch enkele bedenkingen bij dit script:

- setOwners:
  1. $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...

Offline  tomie94
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.

Offline  Wim
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?

Offline  tomie94
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

Offline  tomie94
Gepost op: 09 maart 2009 - 19:29
PHP interesse



nieuwe versie geplaatst

Offline  Ultimatum
Gepost op: 10 maart 2009 - 08:48
PHP expert



Hele mooie class, heb alleen 2 opmerkingen.
Dit stukje staat in je voorbeeld onderaan
  1. <?php
  2. $bot->setIdentity('Nickname, 'Realname', 'ident');
  3. ?>

Je vergeet echter een quote achter Nickname. En ik mis commentaar in je code. Bedoel niet commentaar bij elke regel maar desnoods per "blok".

Offline  teuneboon
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.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.037s