iframe显示授权用户

时间:2016-07-31 09:30:40

标签: javascript php token

我在我的网站中创建了一个“嵌入代码”,它只是一个iframe 我会给这个代码只嵌入某些用户,但不知道该怎么做。用户可以从授权站点检查html代码并在未经许可的情况下获取代码。 如何让我的网站只授权用户? 我考虑过使用$ _SERVER ['HTTP_REFERER'],但只要点击指向内部框架的链接,推荐人就会丢失。

2 个答案:

答案 0 :(得分:0)

您无法真正避免授权人员检查内嵌框架的网址并将其透露给未经授权的人员。正确的做法是向未经授权的用户提供空/错误页面。

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

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

答案 1 :(得分:0)

使用js验证用户。

Class MainModel{
    List<ICar> cars;
    ICar selectedCar;

    ShowData(IEnumerable<ICar> cars){
        foreach (var car in cars)
            {
                _car.Add(car);
            }
        this.selectedCar = this.cars.FirstOrDefault();
    } 

     private ObservableCollection<Car> _cars=new ObservableCollection<Car>();

        public ObservableCollection<Car> Cars
        {
            get { return _cars; }
            set { _cars= value; }
        }
    public object Car{
        get{ return this.selectedCar.Content;}
    }
}

Verify.php包含:

<iframe src="verify.php">...

现在您可以检查引荐来源,验证网站是否正确以及是否有人试图欺骗您的ID ...

<?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...

正如ThomasHübelbauer所说,人们仍然可以复制你的代码。你唯一可以做的就是混淆和使用相对链接。这使得复制变得困难。