У меня есть файл PHP под названием load.php
. Я загружаю контент асинхронно с помощью JavaScript на моем веб-сайте example.com
.
Я хочу перенаправить пользователя со страницы, если он попытается перейти к example.com/load.php
напрямую, но по-прежнему возвращать данные, если они запрашиваются через мой JavaScript. Как мне это сделать?
<?php
//load.php
// Redirect user if they try to access example.com/load.php directly. Only accept asynchronously calls.
echo "example";
?>
<script>
var load = {
url: 'https://example.com/load.php?q=example',
type: "GET",
success: function( data ) {
console.info(data);
}
};
$.ajax( load );
</static>
Спасибо!!!!!!!!
Вместо этого используйте запрос POST
. Тогда без доступа CORS никто не сможет попасть на вашу страницу с POST
.
О, это супер умно. Спасибо Stack Slave
Короткий ответ: вы не можете этого сделать надежно. Если вы хотите попробовать, проверьте заголовки запросов, такие как
X-Requested-With
, как указано в некоторых ответах на дубликат.