Aditional php.ini

Discussion in 'General' started by ivomendonca, Oct 21, 2010.

  1. ivomendonca

    ivomendonca Banned

    :mad:Hi, i think i found a bug or a miss beavior.

    Why the change to php.ini as to be inside cp ?
    And not like other panels that just place multiple php.ini, inside user dir.

    And if is possible to parce multiple php.ini extension dir.
    Now is working but if i load a dl('something.so') the other extensions fail (mysqli for example) to load (because they are in default php extension folder ).

    The php.ini inside user folder is very easy to implement, the extension i dont know but is a strange beavior, the second php.ini shoud run when the fist php.ini are allready loaded (if can be done).

    The other part is php ini_set('something',1) is not working too.Last ispconfig version and fast-gci.

    Thanks.
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    Not sure what you did, the function works perfectly on my server.

    The php.ini inside the user folder is very easy to be exploited and can be easily used to take over your server.

    ISPConfig uses a optional php.ini file for every website which is in a separate and safe folder. You can set the any kind of php.ini variables directly in the php.ini field on the options tab of the website.

    If this is allowed or not depends if you allow the ini_set in your php.ini or not.
     
  3. ivomendonca

    ivomendonca Banned

    IN SITES->PHP.ini try load a php extension that is on your site folder (the simple hello php extension).
    This will change the default extension folder and all other php extensions will not load.

    I want to load normal default server extensions;
    ...\php5\default_dir\mysqli.so -> Normal Beavior

    And some adicional extensions to load at runtime:

    like : \clients\....\web\ioncube.so

    Now i(a site owner) can only load, mysqli.so OR ioncube.so

    Do you know any workout for that ? Did i make my question clear ?

    Ok, Thanks.
     
  4. till

    till Super Moderator Staff Member ISPConfig Developer

    From the security standpoint you should not allow your site owners to load any binary extensions that you have not approved and uploaded to the global extension directory. If you want to offer your customers ioncube and zend decoders, then you should put them into the global extension directory.

    Regarding the dl() function, as far as I know you have to specify the complete path to the extension if it is not in the global extension directory. E.g. if you allow dl() function calls for your customers and the extension is in website root directory of web3, then try something like dl('/var/www/clients/client1/web3/abcd.so')

    You should see the php documentation for details, it is described there where dl searches for extensions:

    http://de3.php.net/manual/en/function.dl.php
     

Share This Page