2016-07-31 73 views
-1

我在我的网站内创建了一个“嵌入代码”,它只是一个iframe 我会给这个代码嵌入某些用户,但不知道该怎么做。用户可以从授权的站点检查html代码并获得未经许可的代码。 我该如何让我的网站只有授权用户? 我曾考虑购买$ _SERVER ['HTTP_REFERER'],但只要您点击指向内部框架的链接,引用者就会丢失。Iframe显示授权用户

+0

这真的取决于你想怎么做。你可以有一个登录。您可以使用测试数据库的链接。你可以得到一个测试MAC地址的软件,并在其上有php'exec()'。这听起来像你正在寻找意见。你的代码在哪里? – PHPglue

回答

0

您无法真正避免授权人员检查内联框架的URL并将其显示给未经授权的人员。正确的做法是向未经授权的用户提供空白/错误页面。

您可以通过在用户登录时创建会话并在源代码中验证内联框架中显示的页面的会话来实现该目的。

不要依赖引用链接,它很容易被欺骗,一些浏览器甚至不会设置它。会话cookie不是可伪造的,除非用户知道用于创建它的凭证,这使得它们得到了授权,无论它们是否经过身份验证。

0

用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(); 
} 
?> 

正如ThomasHübelbauer指出的那样,人们仍然可以复制您的代码。你唯一能做的就是混淆和相对链接的使用。这使得很难复制。