Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - thr0ne

Pages: [1]
1
Discussion & Troubleshooting / Moving 4images
« on: October 12, 2002, 04:03:03 PM »
hi jan!

lang keinen post mehr von mir, das liegt daran dass
4images eigentlich bugfrei ist  :P

jetzt will ich den anbieter wechseln (lycos -> kontent)
mit domain etc. wie "verschiebe" ich am besten das ganze
mit möglichst wenigen verlusten??

thx 4 details

2
Discussion & Troubleshooting / Pic Security
« on: September 02, 2002, 03:29:11 PM »
Quote
leider nützt das Skript das die Bilder vor dem unbefugten speichern Schützen sollte nicht viel. Wie bei meisten dieser Skripts gibts hier einen einfachen Trick:

- Rechte Maustaste gedrückt halten
- Dialog (Copyright....) mit Return schließen
- anschließend die rechte Maustaste wieder loslassen.

=> Schwupp das Context-Menü ist da  

Gibts keine Abhilfe? Wer hat ne Idee das besser zu schützen?


Ich sichere nur kleine Firmennetzwerke keine Bilder :) trotzdem hab ich eine Methode:



1. Verzeichnis schützen

Schützen sie Ihr Verzeichnis mit einer .htaccess Datei.
(leere Datei oder Errordokumentangabe)


2. Grafik anzeigen

Das Script zum Anzeigen der Grafik zeigt das Bild mit
Hilfe einer Tabelle an. Der Trick: Das eigentliche Bild wird als
Hintergrundbild eingebaut, als Inhalt für die Tabellenzelle verwenden
wir ein transparentes Gif. Somit ist das Abspeichern der Grafik
per Rechts-Klick auch unterbunden.

Der Trick in Html:
Code: [Select]

<table CELLSPACING=0 CELLPADDING=0 COLS=1 WIDTH="100" HEIGHT="100">
<tr><td BACKGROUND="ihrbild.gif">
<img SRC="transparent.gif" height=100 width=100>
</td></tr></table>

Dieses Wissen verwenden wir nun in den PHP Dateien:

Quellcode "view_image.php":
Code: [Select]

<?php 

session_start
(); 

// Cache deaktivieren 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " gmdate("D, d M Y H:i:s") ." GMT"); 
header("Pragma: no-cache"); 
header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate"); 

// Challenge-ID 
mt_srand((double)microtime()*1000000); 

$random mt_rand(); 
$random md5(uniqid($random,TRUE)); 

$sess_challenge_id $random

if(!
session_is_registered("sess_challenge_id")): 
  
session_register("sess_challenge_id"); 
endif; 

// Grafik auslesen 
$pic    "tolle-grafik.jpg"
$img    = @GetImageSize("/absoluter/pfad/zu/verzeichniss/images/".$pic); 
$width  $img[0]; 
$height $img[1]; 

// HTML-Tabelle anzeigen 
printf("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"%s\" height=\"%s\">\n",$width,$height); 
print 
"<tr>\n"
printf("<td width=\"%s\" height=\"%s\" background=\"read_image.php?img=%s&challenge=%s\">",$width,$height,rawurlencode($pic),$sess_challenge_id); 
printf("<img border=\"0\" src=\"blind.gif\" width=\"%s\" height=\"%s\">",$width,$height); 
print 
"</td>\n"
print 
"</tr>\n"
print 
"</table>\n"

?>


Erklärung:
Als allererstes müssen Sie eine Session starten.
Danach deaktivieren Sie sicherheitshalber noch den
Cache und erzeugen eine 32 Zeichen lange "Challenge-ID".
Solche Challenge-ID's kann man übrigens auch gut verwenden,
um beispielsweise Reloads zu erkennen.
Diese Challenge-ID registrieren wir als Session-Variable.
Nun müssen Sie nur noch mit GetImageSize()
die Grösse der Grafik auslesen.

Nun kommt der eigentliche Trick:
Anstatt die Grafik direkt einzusetzen,
starten wir dagegen ein zweites Script
"read_image.php" und hängen als GET-Parameter
den Namen der Grafik-Datei und unsere
Challenge-ID hinten dran.

3. Grafik auslesen:

Nun benötigen Sie ein zweites Script, um Ihre
Grafik aus dem geschützten Verzeichnis auszulesen.
Der Quellcode dazu sieht folgendermaßen aus:
Code: [Select]

<?php 

session_start
(); 

// Challenge-ID OK -> Bild anzeigen 
if(session_is_registered("sess_challenge_id") and $sess_challenge_id == $challenge): 

  
session_unregister("sess_challenge_id"); 

  
$path "/asoluter/pfad/zu/verzeichniss/images/"
  
$img  rawurldecode($img); 
  
$read = @GetImageSize($path.$img); 
  
$type $read[2]; 

  
// Nun bestimmen wir den Datei-Typ, damit wir dem Browser sagen können 
  // welcher Grafik-Typ er nun vorgeschmissen bekommt 
  
switch($type
    { 
    case 
1
      
$mime "image/gif"
    break; 
    case 
2
      
$mime "image/jpeg"
    break; 
    case 
3
      
$mime "image/png"
    break; 
    case 
4
      
$mime "application/x-shockwave-flash"
    break; 
    } 

  
// Nun senden wir die Header und lesen mit readfile() unsere 
  // Grafik aus und senden diese direkt an den Browser 
  
header("Content-Type: $mime"); 
  
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
  
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); 
  
header("Pragma: no-cache"); 
  
header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate"); 
  
readfile($path.$img); 

// Unerlaubter Zugriff -> Transparentes GIF *ätsch* 
else: 
  
header("Content-type: image/gif"); 
  
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
  
header("Last-Modified: " gmdate("D, d M Y H:i:s") ." GMT"); 
  
header("Pragma: no-cache"); 
  
header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate"); 
  
readfile("blind.gif"); 
endif; 

?>


Als erstes überprüfen Sie, ob Ihre Session-Variable
registriert wurde und wenn ja, ob diese mit der übermittelten
Variable "challenge" übereinstimmt. Ist dies der Fall,
befreien Sie zuerst Ihre Session-Variable,
damit man die URL nicht per Copy & Paste aus dem
Quelltext in den Browser übernehmen kann.
Danach bestimmen Sie wieder mit GetImageSize() den
Grafiktyp, damit Sie dem Browser die richtigen Header übermitteln können.
Nun müssen Sie nur noch die Grafik per readfile() direkt an den Browser senden.

Falls jedoch keine Session-Variable registriert wurde bzw.
die beiden Challenge-ID's nicht übereinstimmen,
wird lediglich ein transparentes Gif ausgelesen und angezeigt.

Fassen wir das Ganze noch einmal zusammen und sehen uns an,
auf welche Arten unsere Grafik geschützt wurde:

Verzeichnisschutz per .htaccess
-> kein Zugriff per Browser
Grafik als Tabellen-Hintergrund mit transparentem Gif als Inhalt
-> beim Speichern wird nur das transparente GIF abgespeichert
Session-Variable wurde nicht registriert bzw. Challenge-ID's stimmen nicht überein
-> transparentes Gif wird angezeigt

Somit sind die Bilder vor so gut wie allen bekannten Zugriffs-
methoden sicher.


Ach ja - Jan - falls du das liest, ich würde niemals verlangen das du sowas ganz einbindest, aber den HTML-Trick von 2., wie würde man den
am besten in 4images umsetzen?

greets, phil

3
Discussion & Troubleshooting / pics auf hauptseite nicht einbindbar
« on: September 02, 2002, 01:03:44 PM »
ja wie schon im topic steht
ich kann perfecten html code eingeben, er nimmt keine neuen Bilder mehr auf....immer im IE das rote Kreuzchen - total seltsam!

hab schon vor einiger Zeit ein paar Bilder eingefügt...die sind noch da
aber wenn ich ein neues mit img src verlinken will scheitert das.

vielleicht könnte es ein javascript sein, das ich unter den norightclick code eingegeben hab... keine ahnung echt...

4
Mods & Plugins (Requests & Discussions) / nach/vor login
« on: August 27, 2002, 08:09:29 PM »
Ist es möglich auf der Hauptseite von 4images
eine Nachricht(Bild) oder so einzublenden, welche
nach dem login verschwindet?
(die leute die meine seite besuchen kommen einfach
nicht drauf, dass sie sich registrieren müssen)

greets, phil

ach ja - die neue version rockt, wie immer...

5
Discussion & Troubleshooting / edit upload user?
« on: August 15, 2002, 04:17:35 PM »
n freund von mir hat 200 bilder und will die nicht
"per hand" uploaden, sondern mir den ordner schicken

jetzt wollen wir beide aber dass SEIN und nicht der name
des admins da erscheint.

das ist jetzt nur ein beispiel, ich müsste auch so öfters mal
den unsernamen des "uploaders" ändern oder am besten auch
teilweise weglassen können.

wär super wenn jmd da was weiss.

ach ja ich weiss nicht ob das zuviel verlangt ist , aber ich
würde gerne einen neuen status verteilen können (ausser admin und
registrierter user usw.), jmd der überall volle upload rechte hat aber
trotzdem kein admin ist. hmm...

6
Mods & Plugins (Requests & Discussions) / besseres voting?
« on: August 12, 2002, 01:17:50 AM »
wenn ich die scala auf 20 erweitern will, muss ich dann nur
in der includes/constants.php

das Maxrating höher stellen oder noch mehr Änderungen vornehmen?

Ist es möglich die Ergebnisse "Kathegoriengetrennt" darstellen zu lassen??

wäre eine grosse Verbesserung für meine Seite  :D

7
Discussion & Troubleshooting / >>pfad angaben?
« on: August 07, 2002, 12:59:12 PM »
hi jan. ich habs mal wieder vergeigt.

habe 30 images hochgeladen...überall nur 404 bild.
waren nicht verschoben...(noch mit alter version, inzw.
geupdated)
danach hab ich sie in den 1er (den kathegorien)ordner
verschoben.....--> immer noch 404 bild, bei thumbnails
und beim richtigen.

kann ich irgendwie feststellen (mysql oder so) auf welchen pfad
die lustigen einträge denn jetzt verweisen, damit ich die dateien
umbenennen/verschieben kann?

thx, wär schön wenn eine schnelle antwort käme. ->
ansonsten kann das script alles was man nur braucht...ganz weit vorn  :P

8
Discussion & Troubleshooting / welcher anbieter für 4images?
« on: August 05, 2002, 03:40:47 PM »
maaan  :evil:  es ist zum verrückt werden mit
diesen gratis hostern....lycos ist der letzte dreck

ich denke mal es gibt noch mehrere hier, die auch
probleme damit haben.
ich suche einen kompetenten, möglichst billigen
und vor allem schnellen php/mysql-hoster.
(ab 20 mb w.space)

habe bisher nur so übertriebene packete mit 30$/Monat
30293GB Traffic und 500 MB webspace oder
viel zu kleine ohne php etc gefunden.

bei welchen hostern haben die anderen
4images user ihre gallery??
wenn jmd einen ansprechenden webspace kennt, bitte posten
oder als pn schicken.


@jan
//sry wusst nicht wohin damit, aber ist ne art von "trouble und
diskussion" oder?//

9
Discussion & Troubleshooting / alles ausserm download klappt.
« on: August 03, 2002, 02:32:58 PM »
juchu nur noch ein fehler...

wochen hab ich mit dem webspaceprovider und den templates und dem script gekämpft, und endlich klappt alles  :D

nur bei dem download script weiss ich nicht weiter.
jan - du hast mir schonmal einen tipp dazu gegeben,
von wegen "get_cfg_var" oder so, aber immer noch sehe
ich nach längerem laden die error404 page a la "Die Seite kann nicht angezeigt werden"

dazu muss ich sagen, dass es bei der 1.4 er version reibungslos geklappt hat, und erst seit dem umstieg auf 1.5 der fehler auftritt. da ich immoment ansonsten sehr zufrieden bin, muss ich auch nicht unbedingt auf 1.6 umsteigen....

hier die veränderten get_cfg_var stellen aus der download php

 
Code: [Select]

if ($action == "lightbox") {
  if (empty($user_info['lightbox_image_ids']) || get_cfg_var("safe_mode") == 1 || !function_exists("gzcompress") || !function_exists("crc32")) {
    header("Location: ".$site_sess->url($url, "&"));
    exit;
  }


Code: [Select]

  if (get_cfg_var("safe_mode") == 1 || $remote_url) {
    header("Location: $file_path");
    exit;
  }

10
nach dem update wie beschrieben kann ich mich nicht mehr
ins control panel einloggen! dann kommt nur sie sind kein admin oder nicht eingeloggt.
hab die config nicht überschrieben, die templates etc. auch nicht.

admin admin klappt auch nicht.....

plz help!

11
wie kann ich die breite auf 800 und die höhe auf 700 pixel ausweiten?
standardmässig ist das design ja nur 640pixel breit.

ich glaube es hat etwas mit den templates zu tun aber ich will nichts kaputtmachen....

danke für hilfe
---> wenn du es dir genau anschauen willst: www.throne.de.vu (bei libary, soll in den iframe passen)

12
Discussion & Troubleshooting / was muss in das url feld?
« on: May 25, 2002, 03:29:58 PM »
jan das 4images system ist einfach nur genial!!!

mit das erste das reibungslos klappt, nur bin ich irgendwie
zu beschränkt um den bildupload zu verstehen....

ich geb alles ein, kategorie, name, mach durchsuchen, wähl
das bild aus ... und dann kommt ->
bitte überprüfen sie folgende felder: Bild

muss da was ins url feld?

Pages: [1]