Wordpress - как определить, является ли текущая страница страницей входа в систему

Я обнаружил, что в Linux, сделав свой собственный вызов системному вызову rt_sigqueue , я могу поместить все, что захочу, в si_uid и si_pid полей, и вызов завершается успешно и успешно возвращает неверные значения. Естественно, ограничения uid на отправку сигналов обеспечивают некоторую защиту от такого рода спуфинга, но я опасаюсь, что полагаться на эту информацию может быть опасно. Есть ли хорошая документация по теме, которую я мог бы прочитать? Почему Linux допускает явно неправильное поведение, позволяя вызывающей стороне указывать параметры siginfo , а не генерировать их в пространстве ядра? Это кажется бессмысленным, тем более что extra sys вызовы (и, следовательно, затраты на производительность) могут потребоваться для получения uid / gid в пользовательском пространстве.

Изменить: На основе моего чтения POSIX (курсив добавлен мной):

Если si_code - SI_USER или SI_QUEUE, [XSI] или любое значение, меньшее или равное 0, то сигнал был сгенерирован процессом, и si_pid и si_uid должны быть установлены на идентификатор процесса и реальный идентификатор пользователя отправителя, соответственно.

Я считаю такое поведение Linux несоответствующим и серьезной ошибкой.

9
задан R.. 10 March 2011 в 13:43
поделиться