Как самостоятельно зарегистрировать экземпляры классов, используя CRTP?

Включить безопасно, если вы этого не сделаете:

  1. Включить удаленный файл, например www.someoneelsesssite.com/something.php
  2. Включить файл из пути, который пришел от клиента. www.mysite.com/bad.php?path=oops/here/is/your/passwords/file
  3. Включить файл из другого, возможно, испорченного источника, такого как база данных.

2 и 3 технически имеют оговорку, что если вы запретили . или / или на окнах \, вы, вероятно, в порядке. Но если вы не знаете, почему, вы не знаете достаточно об этом, чтобы рисковать. Даже если вы считаете, что база данных доступна только для чтения или иным образом защищена, разумно не предполагать, что, если вам действительно не нужно, что почти никогда.

Как указывает ответ pp19dd. Также важно, чтобы вы назвали свои расширения с расширением .php. Если вы установили apache (или какой-либо веб-сервер, который вы используете), чтобы проанализировать другой тип файла как PHP, это тоже безопасно. Но если вы не знаете наверняка, используйте .php исключительно.

-10
задан πάντα ῥεῖ 9 June 2017 в 19:23
поделиться