Back to top

Autore Topic: [RISOLTO] bloccare PHP se non sono loggato  (Letto 3142 volte)

Offline Simonesabo

  • Nuovo arrivato
  • *
  • Post: 12
  • Sesso: Maschio
    • Mostra profilo
[RISOLTO] bloccare PHP se non sono loggato
« il: 26 Ott 2016, 22:55:55 »
Ciao a tutti ragazzi.
Ho creato un sito Domotica, dove chi si logga visualizza I menu nascosti e premendo gli articoli richiamo dei file php che eseguono degli script. Il problema e che se punto direttamente il file Esempio www.ciao/prova.php
mi esegue anche se non sono loggato il file php.Come si fa a ristringere l'accesso al file solo a chi è collegato.
Suggerimenti? Spero di essere stato chiaro.
Grazie a tutti  8)
« Ultima modifica: 30 Ott 2016, 17:16:37 da Simonesabo »

Offline conti1

  • Global Moderator
  • Instancabile
  • ********
  • Post: 9075
  • Sesso: Maschio
    • Mostra profilo
Re:bloccare PHP se non sono loggato
« Risposta #1 il: 26 Ott 2016, 23:15:15 »
ciao
il tuo prova.php cose una pagina a se al difuori di joomla?
se possibile postare il link  x risolvere al meglio il problema grazie
evitare nomi commerciali grazie

Offline $Red

  • Moderator
  • Instancabile
  • *****
  • Post: 5351
  • "Bastard Inside"
    • Mostra profilo
Re:bloccare PHP se non sono loggato
« Risposta #2 il: 26 Ott 2016, 23:19:55 »
Ciao
ciao
il tuo prova.php cose una pagina a se al difuori di joomla?
da come ha scritto secondo me si! non ci capisco molto di queste cose ma penso che la soluzione migliore sia inserire i codici che sono attualmente su file php esterni all'interno di articoli di joomla con sourcerer

Offline conti1

  • Global Moderator
  • Instancabile
  • ********
  • Post: 9075
  • Sesso: Maschio
    • Mostra profilo
Re:bloccare PHP se non sono loggato
« Risposta #3 il: 26 Ott 2016, 23:25:16 »
se è un file esterno
fa prima a proteggere il file tramite pw , ne creto proppio una a doc x un cliente file esterno con protezione pw
se sa scrivere un poco di php e un po js fa il tutto sensa problemi, in alternativa in rete ci sono  gia script  che fanno puo o meno quel che chiede poi lo adatta alle sue esigenge.
con pagina protetta  anche si arrivano non si apre
« Ultima modifica: 27 Ott 2016, 09:44:58 da conti1 »
se possibile postare il link  x risolvere al meglio il problema grazie
evitare nomi commerciali grazie

Offline Simonesabo

  • Nuovo arrivato
  • *
  • Post: 12
  • Sesso: Maschio
    • Mostra profilo
Re:bloccare PHP se non sono loggato
« Risposta #4 il: 27 Ott 2016, 19:17:39 »
Essatto utilizzo file esterni. Sto cercando una soluzione è vorrei capire se è fattibile, Utilizzare il file index.php,
nella pagine dove ho gli script vorrei fare include("index.php).Ho provato e funziona se e solo se i file sono collocati dove ho index.php se invece sono sotto cartelle mi da un errore 500.
Grazie :)

Il Mio index.php

<?php

define('JOOMLA_MINIMUM_PHP', '5.3.10');

if (version_compare(PHP_VERSION, JOOMLA_MINIMUM_PHP, '<'))
{
    die('Your host needs to use PHP ' . JOOMLA_MINIMUM_PHP . ' or higher to run this version of Joomla!');
}

define('_JEXEC', 1);

if (file_exists(__DIR__ . '/defines.php'))
{
    include_once __DIR__ . '/defines.php';
}

if (!defined('_JDEFINES'))
{
    define('JPATH_BASE', __DIR__);
    require_once JPATH_BASE . '/includes/defines.php';
}

require_once JPATH_BASE . '/includes/framework.php';

// Mark afterLoad in the profiler.
JDEBUG ? $_PROFILER->mark('afterLoad') : null;

// Instantiate the application.
$app = JFactory::getApplication('site');

// Execute the application.
$app->execute();

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:bloccare PHP se non sono loggato
« Risposta #5 il: 27 Ott 2016, 20:02:05 »
Mischiare file esterni senza sapere bene cosa si sta facendo può solo aggiungere vulnerabilità. Se chiarisci cosa fa il file esterno, forse lo puoi implementare come componente.

Offline Simonesabo

  • Nuovo arrivato
  • *
  • Post: 12
  • Sesso: Maschio
    • Mostra profilo
Re:bloccare PHP se non sono loggato
« Risposta #6 il: 27 Ott 2016, 20:50:06 »
Grazie per la risposta, credo che hai perfettamente ragione. In pratica il file Esterno mi avvia una connessione in SSH per Comunicare con Raspberry e dare comandi Esempio: Accendi la Luce. Ecco perchè voglio proteggere bene questi file e non so come fare :( :( vorrei farli eseguire solo a chi è loggato, scusa ma in materia non sono un gran che :( grazieee ancora  :D

Offline MariaElenaBoschi

  • Appassionato
  • ***
  • Post: 469
    • Mostra profilo
Re:bloccare PHP se non sono loggato
« Risposta #7 il: 27 Ott 2016, 21:02:36 »
l'unico modo è di scrivere un estensione per joomla altrimenti non hai sicurezza.
inoltre i dati andranno filtrati anche all'arrivo anche se usi ssh. (difficilmente chi scrive per raspberry piuttosto che per arduino pensa alla sicurezza)

I danni che stanno facendo in questi giorni sono dovuti in maggior parte a strumenti domotici non sicuri
« Ultima modifica: 27 Ott 2016, 21:04:44 da MariaElenaBoschi »
mancano 2 giorni alla mia prematura dipartita, saluti a tutti, meb.

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:bloccare PHP se non sono loggato
« Risposta #8 il: 27 Ott 2016, 23:09:42 »
Beh c'era da aspettarselo che il momento che joomla sarebbe servito pure per fare il caffè prima o poi sarebbe arrivato e con l'iot (internet of things) ormai alla portata di tutti tutto diventa possibile. Bisognerebbe però tenere in alta anzi altissima attenzione l'aspetto sicurezza.

Offline Simonesabo

  • Nuovo arrivato
  • *
  • Post: 12
  • Sesso: Maschio
    • Mostra profilo
Re:bloccare PHP se non sono loggato
« Risposta #9 il: 29 Ott 2016, 17:53:54 »
Per adesso luci, antifurto, videocamera per il caffe ci sto lavorando ahhaha ;) grazie a tutti! sto provando con il file .htaccess solo che non funziona ecco il contenuto del file:

<Files ~ ".php">
Order allow,deny
Deny from all
Satisfy All
</Files>

lo inserito nella cartella dove sono presenti i file .php ma riesco comunque ad eseguirli, non mi blocca niente ovviamenti i permessi del file .htaccess sono 755, come si fa ad abilitarlo??  Grazieeee
« Ultima modifica: 29 Ott 2016, 18:12:01 da Simonesabo »

Offline Alex21

  • Appassionato
  • ***
  • Post: 645
    • Mostra profilo
Re:bloccare PHP se non sono loggato
« Risposta #10 il: 29 Ott 2016, 18:51:04 »
Essatto utilizzo file esterni. Sto cercando una soluzione è vorrei capire se è fattibile, Utilizzare il file index.php,
nella pagine dove ho gli script vorrei fare include("index.php).Ho provato e funziona se e solo se i file sono collocati dove ho index.php se invece sono sotto cartelle mi da un errore 500.
Grazie :)
Ciao Simonesabo,
c'è una tecnica di joomla per vedere se è presente un user.
Ti riporto del codice ottenuto con un piccolo ritocco dei quello della documentazione.
Bisogna vedere il valore che ha ["guest"]. Se è 1 dovrebbe esserci un utente joomla loggato. Ma controlla la documentazione per il valore giusto.
Codice: [Seleziona]
<?php
if (!defined('_JEXEC')){
// Initialize Joomla framework
define('_JEXEC'1);
}


// Load system defines
if (file_exists(dirname(__FILE__) . '/defines.php')){
require_once dirname(__FILE__) . '/defines.php';
}
if (!
defined('JPATH_BASE')){
define('JPATH_BASE'dirname(__FILE__));
}
if (!
defined('_JDEFINES')){
require_once JPATH_BASE '/includes/defines.php';
}


// Get the framework.
require_once JPATH_BASE '/includes/framework.php';


$app JFactory::getApplication('site');
$app->initialise();


$user JFactory::getUser();
echo 
"id:".$user->id;


echo 
'<br>';
var_dump($user);


/*
id:0
object(JUser)#44 (26) {
["isRoot":protected]=> bool(false) 
["id"]=> int(0) 
["name"]=> NULL 
["username"]=> NULL 
["email"]=> NULL 
["password"]=> NULL 
["password_clear"]=> string(0) "" 
["block"]=> NULL 
["sendEmail"]=> int(0) 
["registerDate"]=> NULL 
["lastvisitDate"]=> NULL 
["activation"]=> NULL 
["params"]=> NULL 
["groups"]=> array(1) {
[0]=> string(1) "1" 

["guest"]=> int(1) 
["lastResetTime"]=> NULL 
["resetCount"]=> NULL 
["requireReset"]=> NULL 
["_params":protected]=> object(Joomla\Registry\Registry)#45 (2) {
["data":protected]=> object(stdClass)#46 (0) { } 
["separator"]=> string(1) "." 

["_authGroups":protected]=> array(1) { [0]=> int(1) } 
["_authLevels":protected]=> array(2) { [0]=> int(1) [1]=> int(1) }
["_authActions":protected]=> NULL 
["_errorMsg":protected]=> NULL 
["userHelper":protected]=> object(JUserWrapperHelper)#47 (0) { } 
["_errors":protected]=> array(0) { } 
["aid"]=> int(0) 
}
*/
Ciao!

Offline Simonesabo

  • Nuovo arrivato
  • *
  • Post: 12
  • Sesso: Maschio
    • Mostra profilo
Re:bloccare PHP se non sono loggato
« Risposta #11 il: 30 Ott 2016, 12:21:04 »
Grande Funziona :) ho inserito il file protezione.php, poi nel mio file php ho scritto il seguente codice:


include('protezione.php');   
               
     if ($user->guest == 0 ){

  echo 'Connesso';       
 Codicephp....
   
    }

    else
    {

 Codicephp....
    header("location: http://miosito.it/index.php");     
 
    }

Grazie mille Alex :)))

Offline Alex21

  • Appassionato
  • ***
  • Post: 645
    • Mostra profilo
Re:bloccare PHP se non sono loggato
« Risposta #12 il: 30 Ott 2016, 16:55:22 »
Grande Funziona :) ho inserito il file protezione.php, poi nel mio file php ho scritto il seguente codice:
Avevo il sospetto che quel frammento messo via tempo fa potesse servire ...
Felice di essere stato utile.
Ciao!

 



Web Design Bolzano Kreatif