Вопрос по .htaccess наверное)

Discussion in 'PHP' started by FeraS, 17 Feb 2008.

  1. FeraS

    FeraS Elder - Старейшина

    Joined:
    19 Jan 2007
    Messages:
    555
    Likes Received:
    420
    Reputations:
    76
    Всем превед)

    Задача такая: есть на сайте файл js, надо сделать так, чтобы код, вставленный на сайт (<script language="javascript" src="адрес к тому файлу"></script>) мог нормально работать, а если к файлу обращаются напрямую, то хрен бы че выдавалось, т.е. типо надо запретить для скачивания файл :)
    Вот как организовать такое?)
     
    1 person likes this.
  2. diehard

    diehard Elder - Старейшина

    Joined:
    30 Sep 2007
    Messages:
    442
    Likes Received:
    266
    Reputations:
    15
    FeraS
    И как же браузер его будет скачивать для выполнения, если ему хрен че будет выдаваться? Если хочешь запрятать js, то пользуйся вот этими вещами: www.iframe.in
     
  3. Spyder

    Spyder Elder - Старейшина

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    <files script.js>
    deny from all
    </files>
     
  4. freddi

    freddi Elder - Старейшина

    Joined:
    5 Jul 2006
    Messages:
    399
    Likes Received:
    243
    Reputations:
    145
    Spyder, в этом случае не будет работать

     
  5. Spyder

    Spyder Elder - Старейшина

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    Так скорее всего нет.
    Но если запрашивать файл будет пшп скрипт, то работать должно
    Типа
    file_get_contents("script.js");

    Хотя не уверен, не тестил
     
  6. D0S

    D0S Elder - Старейшина

    Joined:
    6 Jan 2007
    Messages:
    44
    Likes Received:
    7
    Reputations:
    0
    Как нибудь так... :rolleyes:

    PHP:
    <?php        
        
    include("blablabla.js"); 
    ?>
    И это убрать
    PHP:
    <script language="javascript" src="адрес к тому файлу"></script>
    Хз вообщем. :cool:
     
  7. big_BRAT

    big_BRAT Elder - Старейшина

    Joined:
    23 Dec 2006
    Messages:
    77
    Likes Received:
    64
    Reputations:
    7
    как вариант но оч. напряжно
    <script language="javascript" src="http://123.freehost.com/java.js"></script>
    другими словами забрасываешь этот файл на какой то бесплатный хостинг и там прописываешь
    allow from _you_site_ip_
    deny from all
    в таком слычае не кто не сможет обратится к этому файлу кроме твоего сайта

    но, все равно браузер сохранит файл при заходе на страницу, и его можно будет выцепить из темпов, ну или Файл-Сохранить как....
     
  8. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Все просто. Когда скрипт вызывается из страницы - то есть referer, иначе его нет. Соответственно, надо сделать
    addtype application/x-httpd-php .js
    И в файле .js написать
    PHP:
    <?
    if(!isset(
    $_SERVER['HTTP_REFERER']))
    {echo(
    'dcument.write("lol")');}
    else
    {echo(
    'НУЖНЫЙ СКРИПТ');}
    ?>
    Либо, если совсем параноик, то нужно сделать по принципу капчи с помощью кук и сессий. Но грамотный чел все равно увидит твой скрипт :))
     
    1 person likes this.
  9. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    big_BRAT js выполняется на стороне клиента, а не сервера
    Macro конечно, все можно подделать...

    FeraS зачем тебе это?) из всех возможные решений в голову приходит только обфускация
     
  10. FeraS

    FeraS Elder - Старейшина

    Joined:
    19 Jan 2007
    Messages:
    555
    Likes Received:
    420
    Reputations:
    76
    Macro
    Не, чет не канает, а может криворукий)

    Piflit
    Нада)
     
  11. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Macro, и что твой скрипт даст?)
    Перейду я с античата сразу на тот скрипт ...реферер есть
     
  12. SSB1981

    SSB1981 Elder - Старейшина

    Joined:
    7 Jan 2008
    Messages:
    108
    Likes Received:
    9
    Reputations:
    0
    Вот наваял находу:

    Страница где вставляем js:

    HTML:
    
    <?
    session_start();
    $_SESSION['otdai']='true';
    ?>
    
    <html>
    <head>
    <title>Hello</title>
    </head>
    <body>
    бла-бла-бла
    <script language="javascript" src="script.js"></script>
    </body>
    </html>
    
    

    файл .htaccess

    Code:
    
    AddType application/x-httpd-php .js
    
    

    файл script.js:

    PHP:

    <?php

    session_start
    ();
    if(isset(
    $_SESSION['otdai']))
    {
    echo 
    'здесь скрипт';
    }
    else
    {
    echo 
    'XREN VAM';
    }
    ?>


    PS: может чего не учёл времени было мало...
     
  13. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    PHP:
    session_register("otdai");
     
  14. SSB1981

    SSB1981 Elder - Старейшина

    Joined:
    7 Jan 2008
    Messages:
    108
    Likes Received:
    9
    Reputations:
    0
    Вариант :)))))))
     
  15. FeraS

    FeraS Elder - Старейшина

    Joined:
    19 Jan 2007
    Messages:
    555
    Likes Received:
    420
    Reputations:
    76
    XREN VAM нормально выводится, а вот js код не хочет появляться
     
  16. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    PHP:
    <?php
            session_start
    ();
            
    $ses 'otdai';
            
    $otdai 'true';
            
    session_register($ses);
    ?>
    <html>
            <head>
                    <title>Hello</title>
            </head>
    <body>
            бла-бла-бла
            <script type="text/javascript" src="script.js"></script>
    </body>
    </html>
    script.js

    PHP:
    <?php
    session_start
    ();
    if(isset(
    $_SESSION['otdai']) && $_SESSION['otdai'] == 'true')
    {
            echo 
    'alert(/xss/)';
    }
    else
    {
            echo 
    'XREN VAM';
    }
    ?>
     
  17. Spyder

    Spyder Elder - Старейшина

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    FeraS, у тебя этот js вставляется в пшп скрипт или просто в html?
     
  18. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Spyder, сверху написано как это все вставляется
     
  19. Spyder

    Spyder Elder - Старейшина

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    всё равно у Исиса пшп скрипт, можно создать .htaccess прописав
    <files script.js>
    deny from all
    </files>
    и потом просто file_get_contents()
     
  20. FeraS

    FeraS Elder - Старейшина

    Joined:
    19 Jan 2007
    Messages:
    555
    Likes Received:
    420
    Reputations:
    76
    Spyder
    html

    Isis
    А в чем разница между session_start() и @session_start()?