iframe 显示授权用户
Iframe shows authorized users
我在我的站点中创建了一个 "embed code",它只是一个 iframe
我会给这个代码只嵌入某些用户,但不知道该怎么做。用户可以从授权站点检查 html 代码并在未经许可的情况下获取代码。
如何让我的网站只允许授权用户使用?
我考虑过使用 $ _SERVER ['HTTP_REFERER'],但是一旦您单击 link 到内部框架,引荐来源网址就会丢失。
您无法真正避免授权人员检查内联框架的 URL 并将其透露给未经授权的人员。正确的做法是向未经授权的用户提供 empty/error 页面。
您可以通过在用户登录时创建会话并在内联框架中显示的页面的源代码中验证该会话来实现。
不要依赖 referrer,它很容易被欺骗,有些浏览器甚至不会设置它。会话 cookie 不可欺骗,除非用户知道用于创建它的凭据,这使他们获得授权,无论他们是否经过身份验证。
用js验证用户
<iframe src="verify.php">...
Verify.php 包含:
<?php
session_start();
$id= generate sth random;
$_SESSION["id"]=$id;
?>
<script>
window.location="http:yourdomain/site.php?id=<?php echo $id;?>&referrer="+document.referrer;
</script>
Loading...
现在您可以检查引荐来源网址,以验证站点是否正确,以及检查是否没有人试图欺骗您的 ID...
<?php
session_start();
if($_SESSION["id"]!=$_GET["id"] or $$_GET["referrer"]!="allowedsite.com"){
echo "not valid";
die();
}
?>
正如 Thomas Hübelbauer 指出的那样,人们仍然可以复制您的代码。您唯一可以做的就是混淆和使用相关链接。这使得它很难复制。
我在我的站点中创建了一个 "embed code",它只是一个 iframe 我会给这个代码只嵌入某些用户,但不知道该怎么做。用户可以从授权站点检查 html 代码并在未经许可的情况下获取代码。 如何让我的网站只允许授权用户使用? 我考虑过使用 $ _SERVER ['HTTP_REFERER'],但是一旦您单击 link 到内部框架,引荐来源网址就会丢失。
您无法真正避免授权人员检查内联框架的 URL 并将其透露给未经授权的人员。正确的做法是向未经授权的用户提供 empty/error 页面。
您可以通过在用户登录时创建会话并在内联框架中显示的页面的源代码中验证该会话来实现。
不要依赖 referrer,它很容易被欺骗,有些浏览器甚至不会设置它。会话 cookie 不可欺骗,除非用户知道用于创建它的凭据,这使他们获得授权,无论他们是否经过身份验证。
用js验证用户
<iframe src="verify.php">...
Verify.php 包含:
<?php
session_start();
$id= generate sth random;
$_SESSION["id"]=$id;
?>
<script>
window.location="http:yourdomain/site.php?id=<?php echo $id;?>&referrer="+document.referrer;
</script>
Loading...
现在您可以检查引荐来源网址,以验证站点是否正确,以及检查是否没有人试图欺骗您的 ID...
<?php
session_start();
if($_SESSION["id"]!=$_GET["id"] or $$_GET["referrer"]!="allowedsite.com"){
echo "not valid";
die();
}
?>
正如 Thomas Hübelbauer 指出的那样,人们仍然可以复制您的代码。您唯一可以做的就是混淆和使用相关链接。这使得它很难复制。