Avatar billede serverservice Praktikant
03. august 2010 - 19:41 Der er 8 kommentarer og
1 løsning

Gøre Cmsimple sikker - galleri kræver skriveadgang ?

Jeg vil gerne gøre Cmsimple sikker med galleri.

Det irriterer mig at den afkræver chmod 777 for at kunne vise galleri og jeg vil gerne have den til at kunne vise det med chmod 775 - så der ikke er skriveadgang .

Det er på baggrund af nogle angreb der har været og jeg mener det er bedste løsning at systemet ikke kræver skriveadgang - det er været enkelte gallerier der var ramt af hacking.


galleri kan hentes herfra
http://serverservice.dk/gallery.zip
Avatar billede webcreator Nybegynder
03. august 2010 - 20:44 #1
Hej,
Det kan næsten ikke passe, at der kræves skrive-adgang, for at CMSimple kan vise billederne. CHMOD 755 bør være tilstrækkeligt.

Alternativt så overvej Sitemagic CMS (http://sitemagic.dk) - det er også utroligt simpelt, men af bedre kvalitet og mere up-to-date. Der er også et udemærket galleri til.
Avatar billede webcreator Nybegynder
03. august 2010 - 20:44 #2
Avatar billede serverservice Praktikant
03. august 2010 - 22:18 #3
Hej webcreator
Jeg er enig med dig og det er muligvis mig der skal ændre setup på webserveren (ubuntu) for at den kan acceptere 755 - Men som du ser her så skriger det system på adgang - lidt for meget

http://artfashion.dk/?Art-Fashion_Galleri_01:Studio_03

Jeg ved ikke hvad der skal gøres i php på serveren for at de accepterer 755 i stedet - nogle ideer ?

og tak for tippet ....
Avatar billede webcreator Nybegynder
03. august 2010 - 23:29 #4
Hej igen.

Det kunne rent faktisk godt se ud som om, at galleriet kræver skriveadgang. Hvorfor det er en forudsætning ved jeg ikke - det giver ikke mening i min optik. Prøv at kigge i kildekoden efter beskeden "Please chmod folder to 0777" - måske kan det give dig svaret.

Jeg vil anbefale dig at skifte til Sitemagic CMS - det "funker" bare. Hvis du gerne vil beholde dit design, så skulle det være nemt nok at konvertere, hvis du kan lidt HTML og CSS. Se blot på design-skabelonen der følger med Sitemagic CMS (i mappen /templates/Breeze). Den er ret simpel. Giv lyd hvis du skal guides nærmere.
Avatar billede serverservice Praktikant
03. august 2010 - 23:55 #5
Tak her er lige et uddrag af gallery/index.php
Det ser ud til at være designet på at kræve chmod 777?

Det samme gælder gallery/admin.php

$plugin=basename(dirname(__FILE__),"/");
$plugin_include_folder=$pth['folder']['plugins'].$plugin."/includes/";

include_once $plugin_include_folder."thumbcreate.php";

$t='';$WinOS='';$search_array='';
if(substr($dir, -1, 1)<>'/')$dir =$dir."/";
$debug = isset($_POST['debug']) ? $_POST['debug'] : '';
if($debug){error_reporting(E_ALL);}

if(eregi("true",$plugin_cf['gallery']['check_for_gd'])){$CheckGD = get_extension_funcs("gd");if(!$CheckGD){$t .= "<br>Gallery plugin Error :</b> GD image library not installed!<br><br><b>Solution:</b> Your server does not meet the requirements for the gallery plugin, install the GD lib";return $t;exit;}}

if(headers_sent($filename,$linenum)){$t .= "<b>Gallery Plugin Error :</b>Gallery plugin detected that someone already had sent headers<br><br><b>Solution :</b> Look for the error in $filename line $linenum, typical a space or empty line";return $t;exit;}

if($showpic=='') $showpic=$plugin_cf['gallery']['number_of_thumbs'];
if($max_size=='') $max_size=$plugin_cf['gallery']['main_max_size'];

$pic = getvariable('pic');
$page = getvariable('page');

$action = getvariable('action');
$search_string = getvariable('search_string');
$comment_name = getvariable('comment_name');
$comment_text = getvariable('comment_text');
$comment_text = str_replace("\r\n", " ", $comment_text);

$dirs=explode("/",$dir);
$dirs = array_diff($dirs, array("")); // remove blank elements
$folder_create = "";
foreach ($dirs as $folders => $folder){
$folder_create .= $folder."/";
if(!file_exists($folder_create))
  {$old_umask=umask(0);
  if($debug){echo "Debug info 1: folder_create: $folder_create</br>";}
  if($folder_create){
  $uid =getmyuid();
  $gid =getmygid();
  mkdir($folder_create,0777);
  chown($folder_create,$uid);
  chgrp($folder_create,$gid);
  }
  umask($old_umask);
  }
 
if(!is_dir($folder_create)){$t.="<b>Gallery Plugin Error :</b> $folder_create folder could not be created!<br><br><b>Solution :</b>Please create the folder using your ftp account!";return $t;exit;}
 
if(!is_readable($folder_create)){$t.="<b>Gallery Plugin Error :</b> $folder_create folder is not readable!<br><br><b>Solution :</b>Please chmod folder to 0777, at the moment it is ".substr(sprintf('%o', fileperms($folder_create)), -4)."!";return $t;exit;}

if(!is_writable($folder_create)){$t.="<b>Gallery Plugin Error :</b> $folder_create folder is not writable!<br><br><b>Solution :</b>Please chmod folder to 0777, at the moment it is ".substr(sprintf('%o', fileperms($folder_create)), -4)."!";return $t;exit;}

if(strpos($_SERVER['SERVER_SOFTWARE'], 'Win') !== false){$WinOS=True;}
if(strpos($_SERVER['SERVER_SOFTWARE'], 'IIS') !== false){$WinOS=True;}

if (function_exists('getmyuid') and !$WinOS){
if(getmyuid()){if(fileowner($folder_create)<>getmyuid()){$t.="<b>Gallery plugin Error :</b> Creation of dir ($folder_create)<br><br><b>Solution : </b>Please check owner of folder $folder_create (".realpath($folder_create).")<br>The owner seems to be [".fileowner($folder_create)."] the script expects [".getmyuid()."], solve by deleting the folder <b><i>$folder_create</i></b> and re-create it using your FTP account.";return $t;exit;}}}

if (function_exists('is_executable') and !$WinOS){
if(!is_executable($folder_create)){$t.="<b>Gallery Plugin Error :</b> $folder_create folder is not executable!<br><br><b>Solution :</b>Please chmod folder to 0777, at the moment it is ".substr(sprintf('%o', fileperms($folder_create)), -4)."!";return $t;exit;}}
}
$dir = $folder_create;
if(!is_dir($dir)){$t .="<b>Gallery Plugin Error :</b> Could not create folder $dir!<br><b>Solution :</b> Create $dir (".realpath($dir).") using your ftp account!";return $t;exit;}

if (@opendir($dir)){
$files = LoadFilesArray($dir);

foreach($files as $key=>$file){
$title_array[$key] = array();
$time_array[$key] = array();
$comment_array[$key] = array();
$name_array[$key] = array();
$extrainfo_array[$key] = array();
$search_array = array();
$filename = filename_for_comments($dir.$file);
if(file_exists($filename)){
$fp=fopen($filename,"r");
$line = fgets( $fp, 2024 );
$title = explode(";", $line);
array_push($title_array[$key], $title[0]);
foreach($title as $j=>$i){if(($j>0) and strlen($title[$j])>'0'){
array_push($extrainfo_array[$key], htmlspecialchars($title[$j], ENT_QUOTES));}}
while(!feof($fp)){$i=0;$line = fgets( $fp, 2024 );list($time,$comment,$name) = split( ";", $line);array_push($time_array[$key], $time); array_push($comment_array[$key], $comment); array_push($name_array[$key], $name); $i++ ;}fclose($fp);}else{array_push($title_array[$key], strtolower($file));}}
Avatar billede serverservice Praktikant
03. august 2010 - 23:56 #6
Nå jeg er ikke programmør så jeg ved ikke hvor jeg skal ændre - men prøver lige at sætte noget og se hvad den siger
Avatar billede serverservice Praktikant
04. august 2010 - 00:15 #7
Nå men jeg har sikkert valgt et gallery modul som ikke er sikkert og jeg gider ikke vente til en koder skidtet om.

Men så overvejer jeg at anvende den du henviser til i stedet hvis det er bedre ?
Avatar billede webcreator Nybegynder
04. august 2010 - 09:29 #8
Hej igen.

Sitemagic CMS er en fantastisk platform. Der har været stor fokus på "den tekniske implementering", hvilket betyder, at koden er af høj kvalitet. Systemet er fuldt skalerbart, og kan således udvides med nye moduler, og tilpasses grafisk med design-skabeloner. Det er tilmed muligt at tilpasse designet med Sitemagic Designer, hvis man bare vil ændre lidt størrelser, farver, billeder osv. i design-skabelonen.

Jeg ville skynde mig at hente det på http://sitemagic.dk ;-)

Giv lyd hvis du skal have hjælp til opsætningen.
Avatar billede webcreator Nybegynder
04. august 2010 - 09:35 #9
Forresten.. mon ikke at galleriet kræver skrive-adgang, for at du kan uploade filer til galleri-mappen inde fra CMS-løsningen? Du kan godt skrive-beskytte mappen i Sitemagic CMS, men så vil du ikke kunne uploade filer til gallerierne direkte fra kontrolpanelet, men skal i stedet bruge et FTP program.

I øvrigt er der ikke noget usikkert ved at der er skriveadgang til mappen - det betyder ikke at alle og enhver kan uploade billeder til mappen - kun dem der har adgang til serveren (incl. scripts der ligger på serveren).
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
Kurser inden for grundlæggende programmering

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