Сессии без кук не работают. чтобы стартовать сессию, надо идентифицировать клиента. для этого служат куки.id может передаваться get параметром и id задается при в первом запросе, а отправка данных явно не первый
любые защиты на куках строить бессмысленнокакие защиты, тебе же сказано нужно блокировать повторную отправку данных
2 одинаковых fetch на PHP сервер
а можно и без js(ajax)можно конечно, но не нужно
даже в гуях.