Valeriu Vodnicear: нельзя получить то, что браузер не передаёт на сервер. И вряд ли через javascript можно вытянуть эти данные, иначе это была бы жуткая дырень в безопасности.
PavelScron: оно-то может и будет работать, но до тех пор, пока скачивающий не добавит HTTP-заголовки, которые выглядят также, как и заголовки какого-нибудь из популярных браузеров
staffID: есть ещё ограничения на размер типа. Нельзя поставить больше, чем максимальная величина int, насколько знаю, потому на 32-битной PHP и под виндой лимит будет на 1 байт меньше 2 гигабайта.
Правильное. Но лучше вообще выбросить редирект и напрямую отдавать страницу с ошибкой (дико бесит, когда при опечатке сайт куда-то перекидывает и нет возможности исправить URL)