Внутри моей 1-й страницы есть IFrame, который загружает другую страницу, и я не хочу, чтобы к ней обращались напрямую. Поэтому я подумал, может быть, я могу быть уверен, что 2-я страница загружается внутри 1-й, если я проверяю top.location на 2-й странице и делаю все как обычно, если он равен URL-адресу 1-й страницы, или запоминаю пользователя как хакера, если это не так.
Вот код:
1-я страница:
<html>
<head>
<title>1st Page</title>
</head>
<iframe src="2nd Page" name="frame1" height="80%" width="100%"></iframe>
</html>
2-я страница:
<script type="text/javascript">
if(top.location == "1st Page URL") {
// It's OK, Access is not direct
} else {
// It's not a normal access
}
</script>
Кажется, что этот код будет работать нормально, но я не уверен, что он надежный или нет. Может быть, top.location может быть подделан (например, $_SERVER['HTTP_REFERER']
) или он совершенно ненадежен. Я должен быть уверен в этом.