есть следующий инпут: <input name="subject" value="wazny.com">
Он имеет параметр hidden, но кто умеет нажимать f12 не проблема изменить что-либо и отправить совершенно другие данные, так же как с hidden, readonly не поможет :(.
Данные в инпуте я присваиваю переменную. Он важна для дальнейших работ.
Итак вопрос каким образом мне абсолютно обезопаситься и не дать изменить поле, или на что мне заменить инпут, чтобы можно было спокойно брать из метода пост
Для правильного вопроса надо знать половину ответа
Никак не обезопаситься. Всегда можно посмотреть, что за запрос уходит из браузера и симмитировать его с любыми нужными полями/заголовками/куками.
Данным, пришедшим от клиента, доверять нельзя никогда.
P.S. Хотя для вашей ситуации можно на сервере подписать данные электронной подписью или зашифровать их и на сервере же проверять подпись/расшифровывать. Но если ключ будет один на всех, то можно будет подставить данные с другого клиента, а если ключ будет свой для каждой сессии, то проще хранить данные в сессии и не отдавать клиенту.
Надо на сервере проверять данные.
И если у тебя всё время значение wazny.com, то зачем его вообще передавать? Если проверять, откуда прилетели данные, то смотри переменную $_SERVER['HTTP_REFERER']. Но, по идее, злоумышленник и это может подделать.