Ultima versione
Versione stabile:
3.1.5
 
Servizi
» Cerca
 
Cerca
Ricerca parole o frasi all’interno del sito.
 
Statistiche
Visite: 197739
 
Donazioni
Flatnuke e' software libero ed e' distribuito grautitamente. Se pensi che flatnuke ti sia stato in qualche modo di aiuto, puoi contribuire con una donazione libera:

Vuoi saperne di piu'?

 
Login





Non sei ancora registrato?
Registrati ora!
Recupera password
Choose your language:
deutsch english espa?ol fran?ais italiano portugu?s
 
Utenti
Persone on-line:
admins 0 amministratori
users 0 utenti
guests 1 ospiti
 
Netsons Ads

Forum



Benvenuto sconosciutoModifica profiloEntraAiuto 1106 utenti registrati

Navigazione:

[ Forum / Flatnuke / Flatnuke dev / protezione di nuovi section.php (e file README) ]


UtenteMessaggio
bebabi34
bebabi34

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Skype
Lunedi 13 Febbraio 2012 09:14:50

protezione di nuovi section.php (e file README)

nel README si specifica di inserire nelle sezioni create "a mano"
<? <<----- da correggere con <?php
if (eregi("section.php",$_SERVER['PHP_SELF'])) {
Header("Location: ../../index.php");
die();
}
?>

attualmente però fn inserisce soltanto
<?php
if (eregi("section.php",$_SERVER['PHP_SELF'])) die();
?>
e solo quando cambiamo il livello della sezione.

sarebbe più comodo che all'atto stesso della creazione di una sezione, il section.php contenesse già il codice completo.

in functions.php aggiungere la parte mancate alla funzione protect_file
if (eregi("'.basename($path).'",$_SERVER[\'PHP_SELF\'])) { Header("Location: '._NON_SO_DOVE_PRENDERE_IL_PATH_RELATIVO_DI_.'/index.php"); die();}
controllare il test seguente, che funzioni anche col nuovo codice inserito (e digià anche che funzioni col nuovo long_tag <?php)

nella funzione create_section richiamare direttamente la protect_file
marcosegato
marcosegato

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Jabber Skype
Domenica 19 Febbraio 2012 16:59:02

Re: protezione di nuovi section.php (e file README)

Per ora ho modificato il file README, che effettivamente non era stato aggiornato a dovere: grazie.

Per quanto riguarda il problema di reperire il path relativo di index.php, forse la soluzione migliore è di... aggirarlo :D
Devo fare dei test, comunque pensavo di utilizzare qualcosa del genere:
if (eregi("section.php",$_SERVER['PHP_SELF'])) {
$protocol = (isset($_SERVER['HTTPS']) AND $_SERVER['HTTPS']=="on") ? ("https://") : ("http://");
Header("Location: ".$protocol.$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"]);
die();
}


--
Linux Registered User 265651
bebabi34
bebabi34

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Skype
Lunedi 20 Febbraio 2012 08:52:25

Re: protezione di nuovi section.php (e file README)

ocho! che il php_self ritorna il percorso del file che non sono abilitato ad eseguire (es. section.php) anzichè quello di flatnuke/index.php quindi va in loop.
marcosegato
marcosegato

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Jabber Skype
Lunedi 20 Febbraio 2012 13:03:19

Re: protezione di nuovi section.php (e file README)

Sì sì, era solo un'idea da cui partire: una cosa del genere già l'ho utilizzata nel pannello di amministrazione, con un po' di espressioni regolari risalivo all'url principale...

--
Linux Registered User 265651
bebabi34
bebabi34

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Skype
Domenica 26 Febbraio 2012 09:01:32

Re: protezione di nuovi section.php (e file README)

ecco il codice di controllo (e reindirizzamento) che propongo di inserire nei section.php (magari direttamente quando vengono creati).
qualora ci fossero problemi di caratteri bannati, il file completo è linkato in fondo.


<?php

// bebabi34: reindirizzamento dal section.php di una sezione all'indirizzo di index.php col mod della sezione corretto

if (eregi("section.php",$_SERVER['PHP_SELF']))
{

// parte 1 - protocollo (è già ok)
$protocol = (isset($_SERVER['HTTPS']) AND $_SERVER['HTTPS']=="on") ? ("https://") : ("http://");

// parte 2 - server (è già ok)
// $_SERVER["HTTP_HOST"]

// parte 3 - path

// posizione della directory sections nell'attuale path
$posizionesections = strpos($_SERVER["PHP_SELF"], '/sections/');

// directory root di fn
$root = substr($_SERVER["PHP_SELF"], 0, $posizionesections); // la parte del path prima di /sections/

// potrebbe bastare così...
//Header("Location: ".$protocol.$_SERVER["HTTP_HOST"].$root);

// ...ma è meglio reidirizzare alla sezione col mod
$refuso = substr($_SERVER["PHP_SELF"], $posizionesections); // la parte dopo /sections/ che è stata tolta dal path completo
$mod = substr($refuso, 10, -12); // tolgo /sections/ dall'inizio e /section.php dalla fine

// ed ecco il path corretto
Header("Location: ".$protocol.$_SERVER["HTTP_HOST"].$root."/index.php?mod=".$mod);
//echo "Location: ".$protocol.$_SERVER["HTTP_HOST"].$root."/index.php?mod=".$mod; // test

die();

}
?>

ecco il file
http://www.ilrisveglio.it/tmp/security_section.txt

potrebbero esserci comportamenti strani da valutare nei seguenti due casi:
1 - se installo fn in una sezione di un'altra installazione di fn (la posizione della /sections/ non sarebbe individuata correttamente);
2 - se rinomino il file section.php in diavolaccio.php (la lunghezza del nome file cambia, bisognerebbe estrarre il nome file e parametrizzarlo).
bebabi34
bebabi34

0
10
Livello 10

levellevellevellevellevellevellevellevellevellevel
profile home page
Skype
Domenica 11 Marzo 2012 10:34:56

Re: protezione di nuovi section.php (e file README)

per il momento propongo di lasciare in readme l'indicazione del semplice

if (eregi("section.php",$_SERVER['PHP_SELF'])) die();

altrimenti a seconda di dove è la sezione succedono dei casini.

sarebbe però importante che il codice venisse inserito nel section.php appena questo viene creato.


print

Freely inspired to Mollio template