Q1 - Dit MySQL-adgangskode og andre applikationsspecifikke indstillinger skal gemmes i en separat fil uden for din webroot. Du kan enten sætte den ud af webroot direkte eller begrænse den via .htaccess. Du kan inkludere filen eller læse fra den, så længe du kender stien.
Q2 - De binære filer skal også gemmes uden for webroot. Den ideelle måde at betjene dem på ville være at få dem downloadet via en PHP-fil. På denne måde kan du udføre godkendelse, før filen serveres, og du kan gøre linkene midlertidige, så brugerne ikke kan dele dem med andre mennesker
Q3 - Hvis du bruger ovenstående metode, behøver du ikke gemme den som en BLOB i MySQL
Q4 - Jeg er ikke rigtig stødt på noget, der gør og er et bibliotek/autonomt script. Det burde dog ikke være for svært at servere dem via de rigtige overskrifter.