Comments for "Net_Nmap"

» Submit Your Comment
Comments are only accepted during the "Proposal" phase. This proposal is currently in the "Finished" phase.
» Comments
  • David Jean Louis  [2008-03-10 11:57 UTC]

    Nice code, works well for me :)
    I would just remove the getters/setters in Net_Nmap_Service and Net_Nmap_Host (for this one maybe __get() and __set() would help), but that's just a matter of taste.
  • David Jean Louis  [2008-03-10 12:38 UTC]

    oh I forgot: you should use escapeshellcmd() for all data that can be passed to the command line, this will prevent things like:

    <?php
    $target = array('127.0.0.1', '&& rm -f /some/critical/files #');
    $nmap = new Net_Nmap();
    $nmap->scan($target);
    ?>
  • Michael Gauthier  [2008-03-10 12:51 UTC]

    Check out the Crypt_GPG package for a good example (imho) of using PHP to control another process.

    Also, your class-level docblocks should not have whitespace before 'class Foo'.
  • Chuck Burgess  [2008-03-12 13:34 UTC]

    Class hierarchy looks good. I like the usage of that __get() and _set(), now that I actually see how you're using it (for touching keys in your private array, rather than touching actual private variables... I had previously assumed it was private variables). One typo I see in _Service's $_properties initialization is that the 'product' key is listed three times.

    CS-wise, your current code looks quite clean :)

    Last thought would be that if this is indeed PHP5-only, how feasible is it to replace the PEAR_Error usage with PEAR_Exception?