У меня есть теоретический вопрос о создании полностью открытого исходного кода сайта.
Я хотел бы знать, могу ли я кодировать веб-сайт, скажем, на PHP, который является одновременно функциональным и прозрачным, чтобы пользователи могли наслаждаться функциональностью веб-сайта и читать код, который делает веб-сайт возможным.
Например:
index.php — полнофункциональная страница индекса, написанная на PHP
и скажем, пользователь хочет увидеть код index.php, чтобы он мог быть на 100% уверен во всем, что сделано на стороне сервера.
Возможно ли что-то подобное?
Итак, позвольте мне понять это правильно; ты не просто хочешь предоставлять исходный код для сайта, но и для доказывать для каких-либо посетителей, что сайт на самом деле размещен и работает по предоставленному коду?
Возможно, вам удастся сделать что-то, что кажется достаточно убедительным (разоблачение внутренних файлов в вашей системе напрямую через браузер?), Но я не уверен, что вы когда-нибудь сможете доказать свое утверждение формально.
Подумайте об этом: даже если вы раскрываете внутреннюю часть своего приложения через браузер, вы все равно контролируете все, что отображается, поэтому как вы можете убедить посетителя в том, что то, что он видит, — не просто поддельная копия, появляется похож на ваш публичный сайт?
В любом случае, зачем вам это делать? Да, я знаю, что вы задали этот вопрос как гипотетический вопрос, но давайте все равно рассмотрим практические последствия. Предполагая, что ваша цель состоит в том, чтобы заставить ваших пользователей доверять вам и вашей службе, вы, вероятно, сможете добиться этого легче, выполнив несколько простых правил.
В какой-то момент все сводится к основному доверию, независимо от того, что вы делаете. Если вы ведете себя открыто и честно и изо всех сил стараетесь показать, что вы серьезно относитесь к безопасности (* см. Ниже), люди, как правило, могут вам доверять. Зачем? Потому что люди, как правило, доверяют другим до тех пор, пока они не видят никакого стимула, чтобы вы их обманывали (будь это мудрое другое обсуждение).
(*) Sidenote: пожалуйста делать а также шоу что вы серьезно относитесь к безопасности, не просто утверждаю, что сделал это!
Как? Применяйте лучшие методы обеспечения безопасности (обновленные сертификаты и шифрование, безопасное хранение и обработку конфиденциальных данных и т. Д.) И документируйте это открыто. Хорошее описание принятых мер безопасности покажет, что вы знаете, что делаете, и сделает менее вероятным, что вы притворяетесь.
Да, это вполне возможно, и на самом деле некоторые сайты уже делают это. Как правило, веб-сайт с открытым исходным кодом будет иметь исходный код, доступный через некоторый тип контроля версий, такой как Github или же Bitbucket. Это позволило бы каждому увидеть исходный код (в зависимости от доступности они также являются частными репозиториями, к которым могут обращаться только определенные люди).
Одним из примеров сайта, который имеет общедоступный репозиторий для своего исходного кода, является Reddit. Однако они используют Python, а не PHP.