Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „passwortschutz per php“

ackermaennchen

Normalo

Teammitglied
Moin Jungs, ich mir mal wieder was tolles ausgedacht und leider klappt es wieder nicht so wich ich das gerne hätte.

Da mich die Ausfälle von abload in letzter Zeit recht nerven und ich noch einen Space zur Verfügung habe den ich momentan nicht Nutze dacht ich mir, machst halt deinen eigenen Image Hoster auf.

Also losgezogen und ein für mich ansprechendes Script gefunden.

CF Image Host heißt das gute Stück.

http://codefuture.co.uk/projects/imagehost/

Jetzt hab ich mir überlegt, eig könnte ich doch einigen Freunden die Möglichkeit geben, auch ihre Bilder bei mir zu Hosten. Ich möchte es aber nicht dem ganzen WWW anbieten. Da mir das Script zu komplex ist um eingreifen zu können hab ich es erstmal anders probiert.

Und zwar mit passwortschutz per php.

login.php
logout.php
auth.php

sind dafür verwendet.

Jetzt hab ich allerdings das Problem, wenn ich hier n Thumb verlinken würde, und ihr keine Zugangsdaten habt, kommt ihr auch nicht auf das Bild :D
Was aber nicht mein Vorhaben sein soll, ich möchte einzig nur den Upload auf einen Bestimmten Personenkreis einschränken.

Irgendwer ne Ahnung wie ich das ganze Lösen könnte?

aja hiermal ein Link zum Prokjekt. (ist nur eine Testumgebung, und nicht der endgültige Server)



Login zum testen:

Username: testuser
passwort: password


hier mal der verwendete code fürs Login:

PHP:
<?php

$validUser = array();
$validUser['User1'] = 'password';
$validUser['User2'] = 'password';
$validUser['testuser'] = 'password';
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
      session_start();

      $username = $_POST['username'];
      $passwort = $_POST['passwort'];

      $hostname = $_SERVER['HTTP_HOST'];
      $path = dirname($_SERVER['PHP_SELF']);

      // Benutzername und Passwort werden überprüft
      if (isset($validUser[$username]) && $passwort === $validUser[$username]) {
$_SESSION['angemeldet'] = true;

 

       // Weiterleitung zur geschützten Startseite
       if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
        if (php_sapi_name() == 'cgi') {
         header('Status: 303 See Other');
         }
        else {
         header('HTTP/1.1 303 See Other');
         }
        }

       header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index.php');
       exit;
       }
      }
?>

Edit: Hab den Logoutbutton noch nicht eingebaut, deswegen



und hier noch ein Thumb: eingeloggt solltet ihr auf die Seite kommen wo ihr auch hinsollt, ausgeloggt leider nur auf die Loginseite:
 
Zuletzt bearbeitet:

ackermaennchen

Normalo

Teammitglied
AW: passwortschutz per php

Sorry Vergessen ich habe keine Datenbank dabei. Die Lösung sollte also ohne Mysql auskommen. ich weiß mit wäre vieles einfacher, aber naja Kostenlosen Webspace ohne Werbung bekommt man selten :D da verzichtet man auch schonmal auf eine Datenbank.

Mir gehts ja im Endeffekt nur das nicht jeder uploaden kann.
 

ackermaennchen

Normalo

Teammitglied
AW: passwortschutz per php

Code:
mhh irgendwie funzt der upload jetzt nicht mehr, hab noch kein htaccess eingebaut, aber wenn ich die upload verschiebe, dann hab ich den code der index mal so verändert

Code:
<?php
//
//   CF Image Hosting Script 
//   --------------------------
//
//   Author:    codefuture.co.uk
//   Version:   1.4.2
//   Date:      17 June 2011
//
//   download the latest version from - http://codefuture.co.uk/projects/imagehost/
//
//   Copyright (c) 2011 codefuture.co.uk
//   This file is part of the CF Image Hosting Script.
//
//   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
//   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
//   COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
//   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
//   OR  IN  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//
//  You may not modify and/or remove any copyright notices or labels on the software on each
//  page (unless full license is purchase) and in the header of each script source file.
//
//  You should have received a full copy of the LICENSE AGREEMENT along with
//  CF Image Hosting Script.  If not, see http://codefuture.co.uk/projects/imagehost/license/
//   
////////////////////////////////////////////////////////////////////////////////////

	require_once('./inc/config.php');

// LOAD IMAGE
	loadImage();

// DELETE IMAGE
	removeImage();

// check to see if we need to open a thumbnail page
	if (isset($_GET['pt'])||isset($_GET['pm'])){
		require('thumbnail.php');// THUMB PAGE
	}

// check for errors coming from other pages
	if(isset($_SESSION['err'])){
		$Err = $_SESSION['err'];
		unset($_SESSION['err']);
	}

// set any header hooks
	$header_hook = '
	<script type= "text/javascript">
		var max = '.$settings['SET_MAX_UPLOAD'].';
		var extArray = new Array("'.implode('","',$imgFormats).'");
	</script>'."\n\r";

// set page name for menu
	$menu = 'home';
// set page title
	$page_title = ' - '.$settings['SET_SLOGAN'];

// 404 page error
	$page_error = '';
	if (isset($_GET['err'])){
		header($errorCode[$_GET['err']][0]);	// Send correct HTTP Header
		$page_error = array($errorCode[$_GET['err']][1]);
	}

// load header
	include './header.php'; 
// check for any notes
	success_note($Suc);
// 404 page error
	error_note($page_error); 
// check for any errors
	error_note($Err); 

//home page (upload) variables
	$homeVar['inactive_files']		= $settings['SET_AUTO_DELETED']?sprintf($LANGUAGE_PACK["site_index_auto_deleted"],$settings['SET_AUTO_DELETED_TIME']).'<br />':'';
	$homeVar['hot_linking_limit']	= $settings['SET_MAX_BANDWIDTH']?'<b>'.$LANGUAGE_PACK["site_index_max_bandwidth"].':</b> '.(format_size(1048576*$settings['SET_MAX_BANDWIDTH'])).' '.$LANGUAGE_PACK["site_index_max_bandwidth_per"].($settings['SET_AUTO_DELETED_JUMP'] == 'm' ? $LANGUAGE_PACK["site_index_max_bandwidth_per_month"]:$LANGUAGE_PACK["site_index_max_bandwidth_per_week"]).'<br />':'';
	$homeVar['max_upload']			= $settings['SET_MAX_UPLOAD']?'<div class="Upload_Multiple"><span>'.$LANGUAGE_PACK["site_index_max_upload"].' </span><a href="#" class="add_another_file_input"></a><small>('.$LANGUAGE_PACK["site_index_max_upload_max"].' '.$settings['SET_MAX_UPLOAD'].')</small></div>':'';
	$homeVar['hide_tos']			= $settings['SET_HIDE_TOS']?'<p>'.sprintf($LANGUAGE_PACK["site_index_tos_des"],'<a href="tos.php" title="'.$LANGUAGE_PACK["site_menu_tos"].'">'.$LANGUAGE_PACK["site_menu_tos"].'</a>').'</p>':'';
	$homeVar['private_img']			= $settings['SET_PRIVATE_IMG_ON']?'<input id="private" name="private[0]" value="1" type="checkbox" /> <label for="private">'.$LANGUAGE_PACK["site_index_private_img"].'</label><br/>':'';
	$homeVar['short_url']			= $settings['SET_SHORT_URL_ON']?'<input id="shorturl" name="shorturl[0]" value="1" type="checkbox" /> <label for="shorturl">'.$LANGUAGE_PACK["site_index_short_url"].' '.$settings['SET_SHORT_URL_API'].'</label><br/>':'';
	$homeVar['resize_img']			= $settings['SET_RESIZE_IMG_ON']?'<span class="title">'.$LANGUAGE_PACK["site_index_resize_title"].':</span> <label for="new_height">'.$LANGUAGE_PACK["site_index_resize_height"].'</label> <input type="text" maxlength="4" size="4" class="text_input" id="new_height" name="new_height[]"><br/><label for="new_width">'.$LANGUAGE_PACK["site_index_resize_width"].'</label> <input type="text" maxlength="4" size="4" class="text_input" id="new_width" name="new_width[]"><span class="small">'.$LANGUAGE_PACK["site_index_resize_des"].'</span>':'';

?>
		<div class="contentBox">
			<div class="<? if($settings['SET_GOOGLE_ADS'] !=''){?> upload_adson<?}?>">
			<?if(!$settings['SET_DIS_UPLOAD']||checklogin()){?>
				<p class="teaser"><?=$LANGUAGE_PACK["site_index_des"];?></p>
				<p class="teaser">
					<?=$homeVar['inactive_files'];?>
					<?=$homeVar['hot_linking_limit'];?>
					<b><?=$LANGUAGE_PACK["site_index_Image_Formats"];?>:</b> <?PHP echo implode(", ",$imgFormats); ?><br />
					<b><?=$LANGUAGE_PACK["site_index_maximum_filesize"];?>:</b> <?=format_size($settings['SET_MAXSIZE']);?>
				</p>
				<form enctype="multipart/form-data" action="./up/upload.php" method="post" class="upform" name="upload" id="upload">
					<div class="upload_op">
						<a id="linklocal" class="linklocal show" title="<?=$LANGUAGE_PACK["site_index_local_image_upload_title"];?>"><?=$LANGUAGE_PACK["site_index_local_image_upload"];?></a>
						<a id="linkremote" class="linkremote" title="<?=$LANGUAGE_PACK["site_index_Remote_image_copy_title"];?>"><?=$LANGUAGE_PACK["site_index_Remote_image_copy"];?></a>
					</div>
					<div class="loading">
						<label><?=$LANGUAGE_PACK["site_index_uploading_image"];?></label>
						<div id="uoloadingImage"></div>
					</div>
					<div class="input file">
					<a class="closeUpload" href="#" title="Close"> </a>
						<div class="upload_form">
							<div id="remote_panel" class="file_url" style="display: none;">
								<label for="imgUrl"><?=$LANGUAGE_PACK["site_index_Remote_image"];?></label>
								<input type="text" name="imgUrl" id="imgUrl"  class="text_input long" />
							</div>
							<div id="local_panel" class="file_upload">
								<label for="file"><?=$LANGUAGE_PACK["site_index_upload_image"];?>: </label>
								<div class="file_input_div"><input type="text" id="fileName" name="fileName[]"  class="text_input long" readonly="readonly" />
									<input type="button" value="<?=$LANGUAGE_PACK["site_index_upload_browse_button"];?>" name="Search files" class="file_input_button" />
									<input type="file" name="file[]" id="file" class="file_input_hidden" onchange="javascript: copyfileName()" />
								</div>
							</div>
						</div>
						<label for="alt" class="des"><?=$LANGUAGE_PACK["site_index_upload_description"];?></label>
						<input type="text" name="alt[]" id="alt" class="text_input long_des" />

						<? if($settings['SET_PRIVATE_IMG_ON'] || $settings['SET_SHORT_URL_ON'] || $settings['SET_RESIZE_IMG_ON']){?>
							<div class="pref_title"><?=$LANGUAGE_PACK["site_index_upload_preferences"];?></div>
							<div class="preferences">
								<?=$homeVar['private_img'];?>
								<?=$homeVar['short_url'];?>
								<?=$homeVar['resize_img'];?>
							</div>
						<?}?>
					</div>
					<?=$homeVar['max_upload'];?>
					<input name="submit" type="submit" id="uploadbutton" value="<?=$LANGUAGE_PACK["site_index_upload_button"];?>" class="button" onclick="return fileExt(extArray)" />
					<div class="clear_both"></div>
					<?=$homeVar['hide_tos'];?>
				</form>
			</div>
			<? if($settings['SET_GOOGLE_ADS'] !=''){?>
			<div class="ad_index"><?=$index_AdSense;?></div>
			<div class="ad_index"><?=$index_AdSense;?></div>
			<?}?>
		<?}else{//upload disable?>
			<p class="teaser"><b><?=$LANGUAGE_PACK["site_index_upload_disable"];?></b></p>
		<?}?>
		</div>
<?
	if(isset($settings['SET_IMAGE_WIDGIT']) && $settings['SET_IMAGE_WIDGIT']){
		ImageWidget($ROW_RANDIMG);
	}
	include './footer.php';

also beim Form, den Pfad zur upload.php neu definiert.

die upload hab ich wie folgt

Code:
<?php
//
//   CF Image Hosting Script 
//   --------------------------
//
//   Author:    codefuture.co.uk
//   Version:   1.4.2
//   Date:      17 June 2011
//
//   download the latest version from - http://codefuture.co.uk/projects/imagehost/
//
//   Copyright (c) 2011 codefuture.co.uk
//   This file is part of the CF Image Hosting Script.
//
//   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
//   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
//   COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
//   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
//   OR  IN  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//
//  You may not modify and/or remove any copyright notices or labels on the software on each
//  page (unless full license is purchase) and in the header of each script source file.
//
//  You should have received a full copy of the LICENSE AGREEMENT along with
//  CF Image Hosting Script.  If not, see http://codefuture.co.uk/projects/imagehost/license/
//   
////////////////////////////////////////////////////////////////////////////////////

	require_once('../inc/config.php');

	if($settings['SET_DIS_UPLOAD'] && !checklogin()){
		header('Location: ./index.php');
		exit();
	}

// set time out timer to 10mins
	ini_set("max_execution_time", "600");
	ini_set("max_input_time", "600");

//unset session
	unset($_SESSION['upload']);
	unset($_SESSION['err']);

////////////////////////////////////////////////////////////////////////////////////
// UPLOAD CODE START

// see if user is banned
	if (db_isBanned()){
		sendError($LANGUAGE_PACK["site_upload_banned"]);
	}

// see if a image url has been posted
	if((isset($_POST['imgUrl']) && !empty($_POST['imgUrl'])) || isset($imgApiUrl)){
		$image['URL'] = input(isset($_POST['imgUrl'])?$_POST['imgUrl']:$imgApiUrl);
		require_once("../lib/remoteImage.class.php");
		$remoteImage = new remoteImages($DIR_TEMP,$settings,$LANGUAGE_PACK);
		$remoteImage->validExtensions	= $imgFormats;
		$remoteImage->validType			= $acceptedFormats;
		$remoteImage->minDimensions		= $IMG_MIN_SIZE;
		$remoteImage->maxDimensions		= $IMG_MAX_SIZE;

		if($remoteImage->getImage($image['URL'])){
		//check that a file has been found and copyed to the temp dir
			if(!is_null($remoteImage->file)){
				$_FILES = $remoteImage->file;
			}
		}else{
			sendError($remoteImage->error);
		}
	}

	if(	($_SERVER['REQUEST_METHOD'] == 'POST' ||
		isset($api)) &&
		$_FILES['file']['name'][0] !='' && 
		!isset($_SESSION['err'])){

		require_once("../lib/resize.class.php");
		require_once("../lib/phpDupeImage.php");

		$imgCount = 0;

		for($i=0; $i < count($_FILES['file']['name']);++$i){
		
		// setup image var
			$pieces		= explode("?", $_FILES['file']['name'][$i]);
			$pathInfo	= pathinfo($_FILES['file']['name'][$i]);
			$imgSize 	= @getimagesize($_FILES['file']['tmp_name'][$i]);

			$image['name']	= $pieces[0];
			$image['alt']	= removeSymbols(input(!empty($_POST["alt"][$i])?$_POST["alt"][$i]:$pathInfo['filename']));
			$image['temp']	= $_FILES['file']['tmp_name'][$i];
			$image['type']	= $imgSize['mime'];
			$image['size']	= ($_FILES['file']['size'][$i] < 1?@filesize($file_tmp_name):$_FILES['file']['size'][$i]);
			$removeList[]	= $image['temp'];

		//check it's a image & set image extension
			if(!$image['ext'] = get_extension( $image['type'], false )){
				sendError(sprintf($LANGUAGE_PACK["site_upload_types_accepted"],implode(", ",$imgFormats)),'extension');
				continue;
			}

		//min size(pixels)
			if ($imgSize[0] < $IMG_MIN_SIZE || $imgSize[1] < $IMG_MIN_SIZE ){
				sendError(sprintf($LANGUAGE_PACK["site_upload_to_small"],$IMG_MIN_SIZE.'x'.$IMG_MIN_SIZE),'tosmall');
				continue;
			}

		// max size(pixels)
			if ($imgSize[0] > $IMG_MAX_SIZE || $imgSize[1] > $IMG_MAX_SIZE ){
				sendError(sprintf($LANGUAGE_PACK["site_upload_to_big"],$IMG_MAX_SIZE.'x'.$IMG_MAX_SIZE));
				continue;
			}

		//Check file size (kb)
			if($image['size'] > $settings['SET_MAXSIZE']){
				sendError(sprintf($LANGUAGE_PACK["site_upload_size_accepted"],format_size($settings['SET_MAXSIZE'])),'tobig');
				continue;
			}

		//Make Image fingerprint
			$finger = new phpDupeImage();
			$fingerprint = $finger->fingerprint($image['temp']);

		//check for Duplicate Images
			if($settings['SET_NODUPLICATE']){
			// If similar files exist, check them
				if($fp=findImage('fingerprint',$fingerprint)){
					foreach($fp as $fpItem){
						if ($finger->are_duplicates($image['temp'],imageAddress(1,$fpItem))){
							$dupFound = true;
							break;
						}
					}
					if(isset($dupFound)){
						sendError($LANGUAGE_PACK["upload_duplicate_found"],'duplicate');
						continue;
					}
				}
			}

		//New random name
		//Number of Possible Combinations
		//  3 digit code 46656
		//  4 digit code 1679616
		//  5 digit code 60466176
			$image['id'] = createHash(4,true);

		//random delete ID
			$image['did'] = $image['id'].createHash(6);

		//Image address
			$image['new']		= $image['id'].'.'.$image['ext'];
			$image['address']	= $DIR_IMAGE.$image['new'];

		// convert BMP to JPG and PSD to PNG
			if(in_array($image['ext'],array('psd','bmp'))){
			//Reset Image address
				$image['ext']		= ($image['ext'] == 'psd'?$PNG_SAVE_EXT:$JPG_SAVE_EXT);
				$image['new']		= $image['id'].'.'.$image['ext'];
				$image['address']	= $DIR_IMAGE.$image['new'];
			// convert psd/bmp to png
				$convert = new resize($image['temp']);
				$convert->imageConvert($image['address'],($image['ext'] == 'psd'?$PNG_QUALITY:$JPG_QUALITY));
				$convert->destroyImage();
			}
		
		//move image from remote server
			elseif(isset($image['URL']) && input($image['URL']) != ''){
				@copy($image['temp'],$image['address']);
			}
		
		//move uploaded image
			else{
				move_uploaded_file($image['temp'],$image['address']);
			}

		// move file check
			if(!file_exists($image['address'])){
				sendError($LANGUAGE_PACK["site_upload_err"].' .','filemove');
				continue;
			}

		//Resize image if needed
			if ($settings['SET_RESIZE_IMG_ON']) {

				if((isset($_POST['new_width'][$i]) && !empty($_POST['new_width'][$i])) ||
					(isset($_POST['new_height'][$i]) && !empty($_POST['new_height'][$i]))){

					$new_dim = new resize($image['address']);
					$new_dim -> stretchSmallImages(TRUE);

					if(!empty($_POST['new_width'][$i]) && !empty($_POST['new_height'][$i])){
						$new_dim -> resizeImage($_POST['new_width'][$i], $_POST['new_height'][$i], 'exact');
					}
					elseif(!empty($_POST['new_width'][$i]) && empty($_POST['new_height'][$i])){
						$new_dim -> resizeImage($_POST['new_width'][$i], $imgSize[0], 'landscape');
					}
					elseif(empty($_POST['new_width'][$i]) && !empty($_POST['new_height'][$i])){
						$new_dim -> resizeImage($imgSize[1], $_POST['new_height'][$i], 'portrait');
					}

					$new_dim -> saveImage($image['address'],100);
					$new_dim -> destroyImage();
					$imgSize = @getimagesize($image['address']);// update image size for db
				}
			}


		//Thumb address
			$THUMB_ADDRESS = $DIR_THUMB.$image['new'];
			$THUMB_MID_ADDRESS = $DIR_THUMB_MID.$image['new'];

		// thumb
			$resize = new resize($image['address']);
			$resize ->setMemoryLimit ($IMG_MEMORY_LIMIT);
			$resize ->setTweakFactor ($IMG_TWEAK_FACTOR);
		// make thumb
			$resize -> resizeImage($THUMB_MID_MAX_WIDTH, $THUMB_MID_MAX_HEIGHT, $THUMB_MID_OPTION);
			$resize -> saveImage($THUMB_MID_ADDRESS, ($image['ext'] == 'png'?$PNG_QUALITY:$JPG_QUALITY));
		// make small thumb
			$resize -> resizeImage($THUMB_MAX_WIDTH, $THUMB_MAX_HEIGHT, $THUMB_OPTION);
			$resize -> saveImage($THUMB_ADDRESS, ($image['ext'] == 'png'?$PNG_QUALITY:$JPG_QUALITY));
			$resize -> destroyImage();

		//see if thumb's got made
			if(!file_exists($THUMB_ADDRESS) || !file_exists($THUMB_MID_ADDRESS)){
				@unlink($image['address']);
				@unlink($THUMB_ADDRESS);
				@unlink($THUMB_MID_ADDRESS);
				sendError($LANGUAGE_PACK["site_upload_err"].' ..','thumbmade');
				continue;
			}

		// see if we need to get a short url for the image
			if (isset($_POST['shorturl'][$i]) && $_POST['shorturl'][$i] == 1 && $settings['SET_SHORT_URL_ON']){
				$shorturl = shorturl_url('http://'.$_SERVER['HTTP_HOST'].preg_replace('/\/([^\/]+?)$/', '/', $_SERVER['PHP_SELF']).'?di='.$image['id']);
			}

		// get thumb's file size
			$image['size'] = @filesize($image['address']);
			$thumbsize = @filesize($THUMB_MID_ADDRESS);
			$sthumbsize = @filesize($THUMB_ADDRESS);

		// Make image info array to save to db
			$newImageArray = array(	'id'		=> $image['id'],
									'name'		=> $image['name'],
									'alt'		=> $image['alt'],
									'added'		=> time(),
									'ext'		=> $image['ext'],
									'ip'		=> $_SERVER['REMOTE_ADDR'],
									'size'		=> $image['size'],
									'deleteid'	=> $image['did'],
									'thumbsize' => $thumbsize,
									'sthumbsize'=> $sthumbsize,
									'private'	=> (isset($_POST['private'][$i])?1:0),
									'report'	=> 0,
									'shorturl'	=> (!isset($shorturl)?null:$shorturl),
									'fingerprint'  =>$fingerprint,
									);

		//save new image to database
			if(addNewImage($newImageArray)){

			// save image to upload array to be sent to thumb page
				$_SESSION['upload'][] = array('id' => $image['id'],'did' => $image['did']);

			// count images uploaded
				$imgCount++;
				if($imgCount >= $settings['SET_MAX_UPLOAD'] && !checklogin()){
					break; // break upload loop as you have updated max number of images in one go...
				}

			}else{
				sendError($LANGUAGE_PACK["site_index_delete_image_err_db"],'savedb');
				continue;
			}
		}// end image upload loop
	}
// error uploading image
	elseif(!isset($_SESSION['err'])){
		sendError($LANGUAGE_PACK["site_upload_err"].' ...','uk');
	}

// remove temp images
	if(isset($removeList)){
		foreach ($removeList as $tempImg){
			// remove old file
				if(file_exists($tempImg)){
					unlink($tempImg);
				}
		}
	}

// UPLOAD CODE END
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
// MAKE PAGE

// error send back to home page and show the error
	if(!isset($_SESSION['upload'])){
		header('Location: '. $settings['SET_SITEURL'].'/index.php');
		exit();
	}

// open thumb page and show upload images
	header('Location: '. $settings['SET_SITEURL'].'/thumbnail.php');
	die();


// MAKE PAGE END
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
// functions

// send error back to index page
	function sendError($msg,$id=''){
		$_SESSION['err'][$id] = $msg;
	}

// get file ext from mine
	function get_extension($imagetype, $includeDot = false){
		global $acceptedFormats;
		if(empty($imagetype)) return false;
		$dot = $includeDot ? '.' : '';
		if(isset($acceptedFormats[$imagetype])){
			return $dot.$acceptedFormats[$imagetype];
		}
		return false;
	}


// very simple hash function to generate a random string
	function createHash($length=5,$check=null){
		$valid	= 0;
		$hash	= '';
		while(!$valid){
			for($i=0;$i<$length;++$i){
			// if you want to add letters you will have to change the id to varchar instead of int
				$possibleValues = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
			// pick a random character from the possible ones
	    		$hash .= substr($possibleValues, mt_rand(0, strlen($possibleValues)-1), 1);
			}
		// checks if the hash allready exists in the db
			if(is_null($check) || !getImage($hash)){
				$valid = 1;
			}
		}
		return $hash;
	}

also ebenfalls die Pfade aktualiesiert. allerdings kommt jetzt die Fehlermeldung, bach dem upload:

Cant find Settings

edit:

hab grad gesehen das ich in der Upload beim Abschnitt: Make Page noch zwei Verzeichnisse vergessen hatte, aber leider hat eine Aktualiesierung auch nichts gebracht :(
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: passwortschutz per php

Wenn es nach dem Upload erscheint, wurdest du wohl irgendwie umgeleitet. Diese Zieldatei sollte dann wohl im nicht-geschützten Ordner sein und sollte ohne Modifikation wie vorher funktionieren.

Falls der Fehler noch im Upload-Vorgang selbst erscheint, müsstest du den Ablauf mit ein paar echo()s nachvollziehen und den Ort isolieren.


Duddle
 

ackermaennchen

Normalo

Teammitglied
Wenn der uplaod fertig ist, und mir eig die thumbnail page angezeit werden sollte, komme ich auf wo dann die MEldung kommt

Hab jetzt mal versucht die upload direkt im Stammverzeichniss per htaccess zu schützen.

Ergebniss, beim Aufrufen der index ist bereits die Passwortabfrage, nach Bestätigung des Passworts bekomm ich die Meldung:

Your Server made a boo boo

Edit, hab erstmal wieder alles auf Standart zurückgesetzt, also nich wundern wenn die geschilderten Sachen nicht mehr so sind wie Beschrieben.

So ich mach hier dicht, hab eine andere Lösung gefunden.

Ich enfehrne die Links zur Index im Header, so das man nicht mehr auf die Index kommt wenn man einem Thumb folgt.
Dafür kommt ein Link zum Login in die Navi, welche nach einem erfolgreichem Login auf eine die index führt.
 
Zuletzt bearbeitet:

ackermaennchen

Normalo

Teammitglied
AW: passwortschutz per php

Sorry für die Verwirrung, aber ich musste das Thema dochnochmal öffnen.

Weil so ganz haut meine Lösung doch nicht hin.

momentan schauts so aus:

index.php ist jetzt die loginseite (falls jemand auf die idee kommen sollte die url zur index direkt einzugeben.)
der erfolgreiche login führt zur index1.php welche die urspüngliche index war.

soweit funktioniert auch alles.

jetzt hab ich wieder das alte Problem, sobald man einem Thumbnaillink folgt (siehe 1. Post) kommt man nicht zum geposteten Bild sondern springt zum Login Panel (index.php)

Jetzt bin ich etwas verwirrt, denn eig ist im code der thumbnail.php keine Befehl der besagt das ein login nötig ist.

denn soweit ich das rausgelesen Quelle: http://aktuell.de.selfhtml.org/artikel/php/loginsystem/ habe wird die Überprüfung nur duchgeführt wenn ich

PHP:
<?php include('auth.php'); ?>
in die entsprechende Seite einbaue, welches aber auf der Thumbnail Seite nicht erfolgt.

Edit: wenn ich jetzt die Login.php vom Server lösche geht auch der Login nicht mehr, er leitet mich weiter auf die Login.php nachdem ich erfolgreich eingeloged bin. Komischerweise taucht die Datei aber nirgends mehr im Quellcode auf. Denn überall wo diese vorher angegeben war, erscheint jetzt die Index.php in der ja das Login Script untergebracht ist.
 
Zuletzt bearbeitet:

shadownight

Nicht mehr ganz neu hier

AW: passwortschutz per php

Haste es schonmal mit $_SESSION[] Probiert?

[PHP-CODE]
<?php
session_start()

if(!$_SESSION['user'])
{
echo 'Fehlermeldeung/oder den Bereich den du anzeigen willst wenn der user nicht eingelloggt ist';
}
else
{
//Der Bereich der, der eingellogte user benutzen darf
}
[/CODE]
 
Zuletzt bearbeitet:

ackermaennchen

Normalo

Teammitglied
AW: passwortschutz per php

irgendwie funktioniert das alles nicht so wie ich will.

leigt wahrscheinlich dran, dass die url zum eig bild nur über ein ?dateiid ausgegeben wird, und nicht auf die thumb.php?dateiid ausgegeben wird. somit greift er ja auf die index zu die passwortgeschützt ist.

So hätte ich jetzt das problem verstanden.

Neuer Lösungsansatz ist jetzt beim upload ein passwort abzufragen.

Also auf der index.php beim uplaod Formular noch ein passwort eingabe feld hinzufügen.

Nur hab ich momentan noch kein plan wie ich das Einbauen muss. Also wie ich das Eingabefeld anlege schon. aber die Abfrage selber mit dem Send/Uplaodbutton zu verknüpfen nicht.

Ich weiß als Mod, dass das hier kein "mach mir mal" Forum ist, und das ist auch nicht meine Absicht.
Aber ich poste euch mal kurz die Codes für die betreffenden dateien. Vieleicht könnt ihr mir da weiterhelfen, an welcher Stelle ich was einsetzen muss.

index.php:

PHP:
<?php
	require_once('./inc/config.php');

// LOAD IMAGE
	loadImage();

// DELETE IMAGE
	removeImage();

// check to see if we need to open a thumbnail page
	if (isset($_GET['pt'])||isset($_GET['pm'])){
		require('thumbnail.php');// THUMB PAGE
	}

// check for errors coming from other pages
	if(isset($_SESSION['err'])){
		$Err = $_SESSION['err'];
		unset($_SESSION['err']);
	}

// set any header hooks
	$header_hook = '
	<script type= "text/javascript">
		var max = '.$settings['SET_MAX_UPLOAD'].';
		var extArray = new Array("'.implode('","',$imgFormats).'");
	</script>'."\n\r";

// set page name for menu
	$menu = 'home';
// set page title
	$page_title = ' - '.$settings['SET_SLOGAN'];

// 404 page error
	$page_error = '';
	if (isset($_GET['err'])){
		header($errorCode[$_GET['err']][0]);	// Send correct HTTP Header
		$page_error = array($errorCode[$_GET['err']][1]);
	}

// load header
	include './header.php'; 
// check for any notes
	success_note($Suc);
// 404 page error
	error_note($page_error); 
// check for any errors
	error_note($Err); 

//home page (upload) variables
	$homeVar['inactive_files']		= $settings['SET_AUTO_DELETED']	? sprintf($lang["site_index_auto_deleted"],$settings['SET_AUTO_DELETED_TIME']).'<br />':'';
	$homeVar['hot_linking_limit']	= $settings['SET_MAX_BANDWIDTH']? '<b>'.$lang["site_index_max_bandwidth"].':</b> '.(format_size(1048576*$settings['SET_MAX_BANDWIDTH'])).' '.$lang["site_index_max_bandwidth_per"].($settings['SET_AUTO_DELETED_JUMP'] == 'm' ? $lang["site_index_max_bandwidth_per_month"]:$lang["site_index_max_bandwidth_per_week"]).'<br />':'';
	$homeVar['max_upload']			= $settings['SET_MAX_UPLOAD']	? '<div class="Upload_Multiple"><span>'.$lang["site_index_max_upload"].' </span><a href="#" class="add_another_file_input"></a><small>('.$lang["site_index_max_upload_max"].' '.$settings['SET_MAX_UPLOAD'].')</small></div>':'';
	$homeVar['hide_tos']			= $settings['SET_HIDE_TOS']		? '<p>'.sprintf($lang["site_index_tos_des"],'<a href="tos.php" title="'.$lang["site_menu_tos"].'">'.$lang["site_menu_tos"].'</a>').'</p>':'';
	$homeVar['private_img']			= $settings['SET_PRIVATE_IMG_ON']? '<input id="private" name="private[0]" value="1" type="checkbox" /> <label for="private">'.$lang["site_index_private_img"].'</label><br/>':'';
	$homeVar['short_url']			= $settings['SET_SHORT_URL_ON']	? '<input id="shorturl" name="shorturl[0]" value="1" type="checkbox" /> <label for="shorturl">'.$lang["site_index_short_url"].' '.$settings['SET_SHORT_URL_API'].'</label><br/>':'';
	$homeVar['resize_img']			= $settings['SET_RESIZE_IMG_ON']? '<span class="title">'.$lang["site_index_resize_title"].':</span> <label for="new_height">'.$lang["site_index_resize_height"].'</label> <input type="text" maxlength="4" size="4" class="text_input" id="new_height" name="new_height[]"><br/><label for="new_width">'.$lang["site_index_resize_width"].'</label> <input type="text" maxlength="4" size="4" class="text_input" id="new_width" name="new_width[]"><span class="small">'.$lang["site_index_resize_des"].'</span>':'';

?>
		<div class="contentBox">
			<div class="<?php /* if($settings['SET_GOOGLE_ADS'] !=''){?> upload_adson<?php }*/ ?>">
			<?php if(!$settings['SET_DIS_UPLOAD']||checklogin()){?>
				<p class="teaser"><?php echo $lang["site_index_des"];?></p>
				<p class="teaser">
					<?php echo $homeVar['inactive_files'];?>
					<?php echo $homeVar['hot_linking_limit'];?>
					<b><?php echo $lang["site_index_Image_Formats"];?>:</b> <?PHP echo implode(", ",$imgFormats); ?><br />
					<b><?php echo $lang["site_index_maximum_filesize"];?>:</b> <?php echo format_size($settings['SET_MAXSIZE']);?>
				</p>
				<form enctype="multipart/form-data" action="upload.php" method="post" class="upform" name="upload" id="upload">
					<div class="upload_op">
						<a id="linklocal" class="linklocal show" title="<?php echo $lang["site_index_local_image_upload_title"];?>"><?php echo $lang["site_index_local_image_upload"];?></a>
						<a id="linkremote" class="linkremote" title="<?php echo $lang["site_index_Remote_image_copy_title"];?>"><?php echo $lang["site_index_Remote_image_copy"];?></a>
					</div>
					<div class="loading">
						<label><?php echo $lang["site_index_uploading_image"];?></label>
						<div id="uoloadingImage"></div>
					</div>
					<div class="input file">
					<a class="closeUpload" href="#" title="Close"> </a>
						<div class="upload_form">
							<div id="remote_panel" class="file_url" style="display: none;">
								<label for="imgUrl"><?php echo $lang["site_index_Remote_image"];?></label>
								<input type="text" name="imgUrl" id="imgUrl"  class="text_input long" />
							</div>
							<div id="local_panel" class="file_upload">
								<label for="file"><?php echo $lang["site_index_upload_image"];?>: </label>
								<div class="file_input_div"><input type="text" id="fileName" name="fileName[]"  class="text_input long" readonly="readonly" />
									<input type="button" value="<?php echo $lang["site_index_upload_browse_button"];?>" name="Search files" class="file_input_button button" />
									<input type="file" name="file[]" id="file" class="file_input_hidden" onchange="javascript: copyfileName()" />
								</div>
							</div>
						</div>
						<label for="alt" class="des"><?php echo $lang["site_index_upload_description"];?></label>
						<input type="text" name="alt[]" id="alt" class="text_input long_des" />

						<?php if($settings['SET_PRIVATE_IMG_ON'] || $settings['SET_SHORT_URL_ON'] || $settings['SET_RESIZE_IMG_ON']){?>
							<div class="pref_title"><?php echo $lang["site_index_upload_preferences"];?></div>
							<div class="preferences">
								<?php echo $homeVar['private_img'];?>
								<?php echo $homeVar['short_url'];?>
								<?php echo $homeVar['resize_img'];?>
							</div>
						<?php } ?>
					</div>
					<?php echo $homeVar['max_upload'];?>
					<input name="submit" type="submit" id="uploadbutton" value="<?php echo $lang["site_index_upload_button"];?>" class="uploadbutton button" onclick="return fileExt(extArray)" />
					<div class="clear_both"></div>
					<?php echo $homeVar['hide_tos'];?>
				</form>
			</div>
			<?php /*if($settings['SET_GOOGLE_ADS'] !=''){?>
			<div class="ad_index"><?php echo $index_AdSense;?></div>
			<div class="ad_index"><?php echo $index_AdSense;?></div>
			<?php }*/ ?>
		<?php }else{//upload disable?>
			<p class="teaser"><b><?php echo $lang["site_index_upload_disable"];?></b></p>
		<?php } ?>
		</div>
<?php
	if(isset($settings['SET_IMAGE_WIDGIT']) && $settings['SET_IMAGE_WIDGIT']){
		ImageWidget($ROW_RANDIMG);
	}
	include './footer.php';

upload.php

PHP:
<?php


	require_once('./inc/config.php');

	if($settings['SET_DIS_UPLOAD'] && !checklogin()){
		header('Location: index.php');
		exit();
	}

// set time out timer to 10mins
	ini_set("max_execution_time", "600");
	ini_set("max_input_time", "600");

//unset session
	unset($_SESSION['upload']);
	unset($_SESSION['err']);

////////////////////////////////////////////////////////////////////////////////////
// UPLOAD CODE START

// see if user is banned
	if (db_isBanned()){
		sendError($lang["site_upload_banned"]);
	}

// see if a image url has been posted
	if((isset($_POST['imgUrl']) && !empty($_POST['imgUrl'])) || isset($imgApiUrl)){
		$image['URL'] = input(isset($_POST['imgUrl'])?$_POST['imgUrl']:$imgApiUrl);
		require_once("lib/remoteImage.class.php");
		$remoteImage = new remoteImages($DIR_TEMP,$settings,$lang);
		$remoteImage->validExtensions	= $imgFormats;
		$remoteImage->validType			= $acceptedFormats;
		$remoteImage->minDimensions		= $IMG_MIN_SIZE;
		$remoteImage->maxDimensions		= $IMG_MAX_SIZE;

		if($remoteImage->getImage($image['URL'])){
		//check that a file has been found and copyed to the temp dir
			if(!is_null($remoteImage->file)){
				$_FILES = $remoteImage->file;
			}
		}else{
			sendError($remoteImage->error);
		}
	}

	if(	($_SERVER['REQUEST_METHOD'] == 'POST' ||
		isset($api)) &&
		$_FILES['file']['name'][0] !='' && 
		!isset($_SESSION['err'])){

		require_once("./lib/resize.class.php");
		require_once("./lib/dupeimage.class.php");

		$imgCount = 0;

		for($i=0; $i < count($_FILES['file']['name']);++$i){
		
		// setup image var
			$pieces		= explode("?", $_FILES['file']['name'][$i]);
			$pathInfo	= pathinfo($_FILES['file']['name'][$i]);
			$imgSize 	= @getimagesize($_FILES['file']['tmp_name'][$i]);

			$image['name']	= $pieces[0];
			$image['alt']	= removeSymbols(input(!empty($_POST["alt"][$i])?$_POST["alt"][$i]:$pathInfo['filename']));
			$image['temp']	= $_FILES['file']['tmp_name'][$i];
			$image['type']	= $imgSize['mime'];
			$image['size']	= ($_FILES['file']['size'][$i] < 1?@filesize($image['temp']):$_FILES['file']['size'][$i]);
			$removeList[]	= $image['temp'];

		//check it's a image & set image extension
			if(!$image['ext'] = get_extension( $image['type'], false )){
				sendError(sprintf('<b>'.$image['name'].'</b> '.$lang["site_upload_types_accepted"],implode(", ",$imgFormats)),'extension');
				continue;
			}

		//min size(pixels)
			if ($imgSize[0] < $IMG_MIN_SIZE || $imgSize[1] < $IMG_MIN_SIZE ){
				sendError(sprintf('<b>'.$image['name'].'</b> '.$lang["site_upload_to_small"],$IMG_MIN_SIZE.'x'.$IMG_MIN_SIZE),'tosmall');
				continue;
			}

		// max size(pixels)
			if ($imgSize[0] > $IMG_MAX_SIZE || $imgSize[1] > $IMG_MAX_SIZE ){
				sendError(sprintf('<b>'.$image['name'].'</b> '.$lang["site_upload_to_big"],$IMG_MAX_SIZE.'x'.$IMG_MAX_SIZE));
				continue;
			}

		//Check file size (kb)
			if($image['size'] > $settings['SET_MAXSIZE']){
				sendError(sprintf('<b>'.$image['name'].'</b> '.$lang["site_upload_size_accepted"],format_size($settings['SET_MAXSIZE'])),'tobig');
				continue;
			}

		//Make Image fingerprint
			$finger = new phpDupeImage();
			$fingerprint = $finger->fingerprint($image['temp']);

		//check for Duplicate Images
			if($settings['SET_NODUPLICATE']){
			// If similar files exist, check them
				if($fp=findImage('fingerprint',$fingerprint)){
					foreach($fp as $fpItem){
						if ($finger->are_duplicates($image['temp'],imageAddress(1,$fpItem))){
							$dupFound = true;
							break;
						}
					}
					if(isset($dupFound)){
						sendError('<b>'.$image['name'].'</b> '.$lang["upload_duplicate_found"],'duplicate');
						continue;
					}
				}
			}

		//New random name
		//Number of Possible Combinations
		//  3 digit code 46656
		//  4 digit code 1679616
		//  5 digit code 60466176
			$image['id'] = createHash(4,true);

		//random delete ID
			$image['did'] = $image['id'].createHash(6);

		//Image address
			$image['new']		= $image['id'].'.'.$image['ext'];
			$image['address']	= $DIR_IMAGE.$image['new'];

		// convert BMP to JPG and PSD to PNG
			if(in_array($image['ext'],array('psd','bmp'))){
			//Reset Image address
				$image['ext']		= ($image['ext'] == 'psd'?$PNG_SAVE_EXT:$JPG_SAVE_EXT);
				$image['new']		= $image['id'].'.'.$image['ext'];
				$image['address']	= $DIR_IMAGE.$image['new'];
			// convert psd/bmp to png
				$convert = new resize($image['temp']);
				$convert->imageConvert($image['address'],($image['ext'] == 'psd'?$PNG_QUALITY:$JPG_QUALITY));
				$convert->destroyImage();
			}
		
		//move image from remote server
			elseif(isset($image['URL']) && input($image['URL']) != ''){
				@copy($image['temp'],$image['address']);
			}
		
		//move uploaded image
			else{
				move_uploaded_file($image['temp'],$image['address']);
			}

		// move file check
			if(!file_exists($image['address'])){
				sendError('<b>'.$image['name'].'</b> '.$lang["site_upload_err"].' .','filemove');
				continue;
			}

		//Resize image if needed
			if ($settings['SET_RESIZE_IMG_ON']) {

				if((isset($_POST['new_width'][$i]) && !empty($_POST['new_width'][$i])) ||
					(isset($_POST['new_height'][$i]) && !empty($_POST['new_height'][$i]))){

					$new_dim = new resize($image['address']);
					$new_dim -> stretchSmallImages(TRUE);

					if(!empty($_POST['new_width'][$i]) && !empty($_POST['new_height'][$i])){
						$new_dim -> resizeImage($_POST['new_width'][$i], $_POST['new_height'][$i], 'exact');
					}
					elseif(!empty($_POST['new_width'][$i]) && empty($_POST['new_height'][$i])){
						$new_dim -> resizeImage($_POST['new_width'][$i], $imgSize[0], 'landscape');
					}
					elseif(empty($_POST['new_width'][$i]) && !empty($_POST['new_height'][$i])){
						$new_dim -> resizeImage($imgSize[1], $_POST['new_height'][$i], 'portrait');
					}

					$new_dim -> saveImage($image['address'],100);
					$new_dim -> destroyImage();
					$imgSize = @getimagesize($image['address']);// update image size for db
				}
			}


		//Thumb address
			$THUMB_ADDRESS = $DIR_THUMB.$image['new'];
			$THUMB_MID_ADDRESS = $DIR_THUMB_MID.$image['new'];

		// thumb
			$resize = new resize($image['address']);
			$resize ->setMemoryLimit ($IMG_MEMORY_LIMIT);
			$resize ->setTweakFactor ($IMG_TWEAK_FACTOR);
		// make thumb
			$resize -> resizeImage($THUMB_MID_MAX_WIDTH, $THUMB_MID_MAX_HEIGHT, $THUMB_MID_OPTION);
			$resize -> saveImage($THUMB_MID_ADDRESS, ($image['ext'] == 'png'?$PNG_QUALITY:$JPG_QUALITY));
		// make small thumb
			$resize -> resizeImage($THUMB_MAX_WIDTH, $THUMB_MAX_HEIGHT, $THUMB_OPTION);
			$resize -> saveImage($THUMB_ADDRESS, ($image['ext'] == 'png'?$PNG_QUALITY:$JPG_QUALITY));
			$resize -> destroyImage();

		//see if thumb's got made
			if(!file_exists($THUMB_ADDRESS) || !file_exists($THUMB_MID_ADDRESS)){
				@unlink($image['address']);
				@unlink($THUMB_ADDRESS);
				@unlink($THUMB_MID_ADDRESS);
				sendError('<b>'.$image['name'].'</b> '.$lang["site_upload_err"].' ..','thumbmade');
				continue;
			}

		// see if we need to get a short url for the image
			$shorturl = null;
			if (isset($_POST['shorturl'][$i]) && $_POST['shorturl'][$i] == 1 && $settings['SET_SHORT_URL_ON']){
				$shorturl = shorturl_url('http://'.$_SERVER['HTTP_HOST'].preg_replace('/\/([^\/]+?)$/', '/', $_SERVER['PHP_SELF']).'?di='.$image['id']);
			}

		// get thumb's file size
			$image['size'] = @filesize($image['address']);
			$thumbsize = @filesize($THUMB_MID_ADDRESS);
			$sthumbsize = @filesize($THUMB_ADDRESS);

		// Make image info array to save to db
			$newImageArray = array(	'id'		=> $image['id'],
									'name'		=> $image['name'],
									'alt'		=> $image['alt'],
									'added'		=> time(),
									'ext'		=> $image['ext'],
									'ip'		=> $_SERVER['REMOTE_ADDR'],
									'size'		=> $image['size'],
									'deleteid'	=> $image['did'],
									'thumbsize' => $thumbsize,
									'sthumbsize'=> $sthumbsize,
									'private'	=> (isset($_POST['private'][$i])?1:0),
									'report'	=> 0,
									'shorturl'	=> $shorturl,
									'fingerprint'  =>$fingerprint,
									);

		//save new image to database
			if(addNewImage($newImageArray)){

			// save image to upload array to be sent to thumb page
				$_SESSION['upload'][] = array('id' => $image['id'],'did' => $image['did']);

			// count images uploaded
				$imgCount++;
				if($imgCount >= $settings['SET_MAX_UPLOAD'] && !checklogin()){
					break; // break upload loop as you have updated max number of images in one go...
				}

			}else{
				sendError('<b>'.$image['name'].'</b> '.$lang["site_index_delete_image_err_db"],'savedb');
				continue;
			}
		}// end image upload loop
	}
// error uploading image
	elseif(!isset($_SESSION['err'])){
		sendError($lang["site_upload_err"].' ...','uk');
	}

// remove temp images
	if(isset($removeList)){
		foreach ($removeList as $tempImg){
			// remove old file
				if(file_exists($tempImg)){
					unlink($tempImg);
				}
		}
	}

// UPLOAD CODE END
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
// MAKE PAGE

// admin bulk uploader 
	if(isset($admin_upload)){
		header('Location: '. $settings['SET_SITEURL'].'/admin.php?act=bulk');
		exit();
	}

// error send back to home page and show the error
	if(!isset($_SESSION['upload'])){
		header('Location: '. $settings['SET_SITEURL'].'/index.php');
		exit();
	}

// open thumb page and show upload images
	header('Location: '. $settings['SET_SITEURL'].'/thumbnail.php');
	die();


// MAKE PAGE END
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
// functions

// send error back to index page
	function sendError($msg,$id=''){
		if(isset($_SESSION['err'][$id])) $id = $id.'_'.time();
		$_SESSION['err'][$id] = $msg;
	}

// get file ext from mine
	function get_extension($imagetype, $includeDot = false){
		global $acceptedFormats;
		if(empty($imagetype)) return false;
		$dot = $includeDot ? '.' : '';
		if(isset($acceptedFormats[$imagetype])){
			return $dot.$acceptedFormats[$imagetype];
		}
		return false;
	}


// very simple hash function to generate a random string
	function createHash($length=5,$check=null){
		$valid	= 0;
		$hash	= '';
		while(!$valid){
			for($i=0;$i<$length;++$i){
			// if you want to add letters you will have to change the id to varchar instead of int
				$possibleValues = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
			// pick a random character from the possible ones
	    		$hash .= substr($possibleValues, mt_rand(0, strlen($possibleValues)-1), 1);
			}
		// checks if the hash allready exists in the db
			if(is_null($check) || !getImage($hash)){
				$valid = 1;
			}
		}
		return $hash;
	}

Ich wäre euch sehr dankbar wenn ihr mir da helfen könnet.

Gruß

Enrico
 

elyion_g2

Ach Jungs!?!

AW: passwortschutz per php

Was hasst du den bei meinem Script nicht verstanden? ... Es ist ja komplett... du musst nur noch die einzelnen Seiten selbst anpassen - sprich ein fertiges skript... :) ... viel mehr helfen kann ich auch nicht. dort drin ist alles mit SESSION etc. gelöst! ...

Die dateien die Passwort geschützt sein sollen musst du einfach über all dem code die secure.php includen ...
 

ackermaennchen

Normalo

Teammitglied
AW: passwortschutz per php

Das Problem ist wenn ich jetzt hier ein tumb verlinke und du dem link folgst. Müsstest du ein Passwort eingeben um dann das Bild auch zu sehen.
 

elyion_g2

Ach Jungs!?!

AW: passwortschutz per php

also meinste dass du nacher einen solchen link hast in der adresszeile ? ...
beispiel.php?blabla .... ?

Eigentlich müsste er mit SESSION mit einer einmaligen passwort-eingabe auskommen...
Ich kann dir nicht genau sagen wo das problem liegt... hat das skript oben meine skripts drin?
 

ackermaennchen

Normalo

Teammitglied
AW: passwortschutz per php

Nein nicht mehr. Der link lautet eben nicht Domain.de/thumb.php?... Sondern Domain.de/?....

Hab jetzt den endgültigen Server wieder aktiviert. Unter
 

ackermaennchen

Normalo

Teammitglied
AW: passwortschutz per php

So das Thema lässt mich immernoch nicht in Ruhe, und ich starte einen neuen anlauf.

Das Projekt liegt mittlerweile auf

Ich habe jetzt auf der index.php ein Eingabefeld erzeugt.

Code:
<label for="pw" class="des">Passwort</label>
                        <input type="text" name="passwort" id="passwort" class="text_input long_des" />

in der config.php

habe ich die variable für das Passwort angelegt:

Code:
//// passwortabfrage

$passwort= 'test' ;

Jetzt geht es dann aber ans eingemachte, nähmlich die Abfrage des Textfeldes und die Prüfung des eingestezten Wertes.

Das erfolgt ja meines erachtens nach auf der upload.php die durch das anklicken des "upload" Buttons auf der index aufgerufen wird.

Dazu hab ich die upload.php erstmal soweit erweitert:

Code:
// se if password is correct

 if ($passwort)

und genau da komm ich einfach nicht weiter, wie frage ich jetzt den eingesetzten Text aud dem Formular ab, und überprüfe ihn?
 

Wolves

Moderator

Teammitglied
AW: passwortschutz per php

Hi acker :D kenne mich mit den schreiben nicht wirklich aus, könntest du sowas nicht von DA abkupfern. Dort kann man ja auch nnur Bilder nach einer Anmeldung hochladen, aber sehen tun es alle...
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben