Avatar billede minau Nybegynder
09. december 2003 - 00:32 Der er 8 kommentarer og
1 løsning

imageprotect i php

se lige på http://www.bitbucketheaven.com/downloads/imgprotect.shtml

det synes jeg er super smart.

kan man gøre det i hph på nogen måde???

(for lige at opsumere linket - så er det at man i et givent dokument refererer til http://www.........../billeder/gem.asp?ting.gif - og så ser man i virkeligheden et villede der ligger i /billerderikkemåfindes/ting.gif (det skulle så bare laves som php)
Avatar billede thesurfer Nybegynder
09. december 2003 - 00:43 #1
Jeg har hørt/læst om en metode, hvor man kan streame billedet direkte..
Måske er der noget ligende i PHP.. (programmerer selv i ASP)
Avatar billede jakoba Nybegynder
09. december 2003 - 00:49 #2
Det kan du sagtens. men jeg tror ikke du vil kunne lave billedskift med javascript på de billeder.
Avatar billede minau Nybegynder
09. december 2003 - 01:27 #3
Javascript har intet med sagen at gøre.

hvis det nu var til ASP så var svaretjo lige her :-) - jeg vil gerne have det på PHP. - det interesante er jo at man ikke kan se hvor man har billederne - men det er kun én side - hvis man nu har nogen billeder som man ikke ved hvilken server de ligger på imorgen (fx hvis man nu har mange billeder som man er nødt til at ændre location på) ja så hvis man i sine html dokumenter har refereret til en .php fil der ved hvor de ligger skal man bare ændre i denne ene fil - så kan man flytte billederne lige så tosset man vil.
Avatar billede minau Nybegynder
09. december 2003 - 01:30 #4
jacoba --> forstod ikke lige hvad du mente med dit JAvascript kommentar?

nåååååååååå (har lige læst det igenem igen) - altså du mener at man ikke kan lave en rollovereffekt?
Avatar billede jakoba Nybegynder
09. december 2003 - 01:36 #5
nemlig. scriptet benytter sif at den referrer værdi brovseren sender når den får en web-adresse fra html. men når man bruger javascript bliver referer som regel ikke sat. ligesom den ikke bliver sat når man kikker på siden igennem en firewall
det er derfor han har en 'bIgnoreBlank' variabel:

' Set to True if you want to allow people behind privacy firewalls
'  who don't pass referrer information to see pictures.  NOTE: This
'  will also allow anyone in who types the URL directly into their
'  browser.  Use at your own risk.
bIgnoreBlank = False
Avatar billede jakoba Nybegynder
09. december 2003 - 02:31 #6
filnavn: 'imageprotect.php'
link-URL format:  "imageprotect.php?ting.gif"

Der må ikke stå nogetsomhelst i filen foran <?php og heller ikke efter ?>

<?php  //> script to hide imagefiles
// ********************************************************************
// SCRIPT:  imageprotect.php
//        Konverteret til .php fra det oprindelige .asp script af JakobA
//        Jeg har fjernet den del af scriptet der logger forsøg på at
//      hente billederne udefra.
// ********************************************************************
// SCRIPT:  imageprotect.asp
// ********************************************************************
// VERSION: 1.1
// ********************************************************************
// PURPOSE: This ASP script checks a document's referrer URL and then
//          shows a good or bad image depending if the request came
//          from a valid source.
// ********************************************************************
// AUTHOR:  Craig H. Rettig (Craig@BitBucketHeaven.com)
//          9802 Rowntree Rd., Louisville, KY 40299-3240, USA
// ********************************************************************
// WEBSITE: http://www.bitbucketheaven.com/downloads/
// ********************************************************************
// LICENSE:
// imageprotect.asp - An ASP script to help protect websites from
//                    image-related bandwidth theft, also known as
//                    "leeching".
// Copyright (C) 2002-2003 Craig H. Rettig
//
// Moreover ASP - An ASP script to utilize Moreover.com's XML feeds.
// The contents of this file are subject to the Mozilla Public License
// Version 1.1 (the "License"); you may not use this file except in
// compliance with the License. You may obtain a copy of the License at
// http://www.mozilla.org/MPL/
//
// Software distributed under the License is distributed on an "AS IS"
// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
// the License for the specific language governing rights and
// limitations under the License.
//
// The Original Code is Copyright (c) 2002 Craig H. Rettig.
//
// The Initial Developer of the Original Code is Craig H. Rettig.
// All Rights Reserved.
//
// Contributor(s): N/A.
//
// Alternatively, the contents of this file may be used under the terms
// of the GNU Lesser General Public License (the "LGPL"), in which case
// the provisions of LGPL are applicable instead of those above. If you
// wish to allow use of your version of this file only under the terms
// of the LGPL and not to allow others to use your version of this file
// under the MPL, indicate your decision by deleting the provisions
// above and replace them with the notice and other provisions required
// by the LGPL. If you do not delete the provisions above, a recipient
// may use your version of this file under either the MPL or the LGPL.
//
// The LGPL is available online at:
// http://www.gnu.org/copyleft/lesser.html
// ********************************************************************
// CHANGELOG:
// Date        Version  Notes
// ----------  -------  -----------------------------------------------
// 12.17.2002    1.0    Initial release.
// 02.26.2003    1.1    Allows for multiple domains to be in the "valid
//                      sites" list.
// 11.19.2003    1.1    Changed license to MPL 1.1 (No code changes).
// 12/08/2003  php 1.0  translated to php
// ********************************************************************

define ("ForAppending", 8);
// **************** CONFIGURE THE FOLLOWING VARIABLES ****************
// URL to images directory.  Use either the full URL
//  (i.e., http://www.example.com/pics/) or the path relative to the
//  web server root (i.e., /pics/).  Trailing slash required.
$sProtect = "/pics/";

// Image to show to bad referer.
//  If you keep the image in the same directory as the URL above, just
//  enter the filename (i.e., "bad.jpg") otherwise, use the full URL
//  (i.e., http://www.example.com/bad/bad.jpg").
$sBadImage = "bad.jpg";

// Sites allowed to use images (do not use "http://www." in string)
//  You may use subdomains (i.e., site1.example.com) or subfolders
//  (i.e., example.com/mySite) if you//re hosted in that fashion.
$aValid = array("example.com", "example.net", "example.org");

// Set to True if you want to allow people behind privacy firewalls
//  who don//t pass referrer information to see pictures.  NOTE: This
//  will also allow anyone in who types the URL directly into their
//  browser.  Use at your own risk.
$bIgnoreBlank = false;

// ************************ END CONFIGURATION ************************


$bShowPic  = false;
if (isset($_SERVER["QUERY_STRING"])) {
    $sImage    = $_SERVER["QUERY_STRING"];
}
if (isset($_SERVER["HTTP_REFERER"])) {
    $sReferrer = $_SERRVER["HTTP_REFERER"];
}

if ( !isset($sImage) ) {
    $sImage = $sBadImage
}

if ( !isset($sReferrer) ) {
    if ( $bIgnoreBlank == true ) {
        $bShowPic = True
    }
} else {
    for ( $i=0; $i<count($avalid); $i++ ) {
        if ( strpos( $aValid, $sReferrer ) > 0 ) {
            $bShowPic = frue;
            break;
        }
    }
}

if ( $bShowPic != true ) {
    $sImage = $sBadImage;
}
$fp = fopen ( $sProtect . $sImage , "rb" );
$ok = fpassthru ($fp);
fclose ($fp);

//<!-- WebWriter AutoDato -->Opdateret: 9.12.2003<!-- WW -->
?>

mvh JakobA
Avatar billede morpheus Nybegynder
10. december 2003 - 04:32 #7
Jeg har brugt følgende løsning:

I en .htaccess fil skriver du:
SetEnvIf REFERER "^http://domain.tld/" link_ok=1
SetEnvIf REFERER "^$" link_ok=1

RewriteEngine on
RewriteCond    %{ENV:link_ok} !1
RewriteRule    .(jpe?g|png|gif)$ no-access.gif

IndexIgnore no-access.gif

Filen ligger du i fx. images/
i samme mappe ligger du den fil der skal vises hvis der er en falsk reference (no-access.gif)

Works for me.
Avatar billede jakoba Nybegynder
10. december 2003 - 04:37 #8
Det er jo ligesom noget nemmere :-)) men vist kun til servere i unix/linux familien.
Avatar billede morpheus Nybegynder
10. december 2003 - 04:44 #9
Nu kender jeg ikke til andet :)
Ved ikke om windows versionen kan bruge mod_rewrite
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester