I have recently heard that most of the PHP code is confidential
Questo sembra essere errato. Al momento dell'affitto, la maggior parte del PHP è non offuscata e leggibile a chiunque sia distribuito a.
because if attackers know your database structure or the hash function used to encrypt the passwords, there is higher chances of a breach.
Anche errato. Né la struttura del database, né la funzione di hash è fondamentale per progettare la violazione iniziale. Questi potrebbero essere utili dopo una violazione, ma ciò che è importante nel generare l'attacco iniziale è la conoscenza di qualche difetto o vulnerabilità nel codice del sito.
Avere il codice sorgente può essere utile per trovare vulnerabilità di sicurezza (cf .: plugin Wordpress e Joomla), non è davvero necessario. Infatti, la maggior parte delle vulnerabilità interessanti (Windows, Flash, Internet Explorer, Acrobat, ecc.) Sono state trovate senza l'ausilio del codice sorgente.
Rendere il tuo progetto Open Source rende il codice più facile da revisionare (con o senza il permesso) di terze parti che dovrebbe portare a scoperte precedenti di bug e vulnerabilità, sperando di renderle più veloci e facili da applicare .
Supponendo che il tuo progetto sia abbastanza popolare da ottenere una ragionevole quantità di scrutinio, questo dovrebbe significare che il tuo progetto ha meno probabilità di avere importanti vulnerabilità di sicurezza una volta compiuto il periodo iniziale di scoperta e verifica. È difficile ottenere buoni dati al riguardo, ma alcune prove suggeriscono che il popolare software open source ha meno probabilità di avere quelle vulnerabilità "dormienti" che si trovano lì presenti e attive ma non pubblicizzate per decenni.