У меня есть вопрос относительно Spring MVC/Rest.Spring MVC/REST получение данных только из определенного домена
Скажите, что у меня есть служба, в которой вы можете получить информацию о пользователе (JSON) пользователя, указав следующий URL-адрес http://localhost:8080/project/api/get/user/1
.
Мое внешнее приложение работает: http://localhost:9000/
, и я могу получить данные из API. Однако я могу сделать это в любом домене. И моя цель - обслуживать только один (или список) доменов/ips.
Поэтому я добавил следующий фильтр к моему API для того, чтобы только принимать звонки с локального хоста: 9000
@Component
public class CORSFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest req, HttpServletResponse res, FilterChain filterChain)
throws ServletException, IOException {
res.addHeader("Access-Control-Allow-Origin","http://localhost:9000");
/* other code*/
теперь он действительно блокирует звонки из других доменов. Однако, если я использую такой инструмент, как почтальон, я могу все еще получать данные! Я что-то упускаю? Является ли это безопасным и правильным способом, что я здесь делаю? Почему я все еще могу получать и даже публиковать данные, если я использую Postman?