Base di conoscenze
1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Questa guida descrive in dettaglio l'uso di script Perl oppure Python sur Web hosting Infomaniak.
Preambolo
- Gli script Perl e Python sono spesso utilizzati con il modulo CGID di Apache per generare contenuti dinamici sui server Web.
- Questo modulo consente ad Apache di elaborare le query che utilizzano script scritti in Perl o Python tramite il protocollo CGI (Common Gateway Interface), offrendo la possibilità di creare pagine web interattive e reattive in base alle interazioni degli utenti con il sito.
- Tuttavia, per motivi di sicurezza, Infomaniak ha scelto di disattivare la capacità di eseguire script scritti in Perl o Python tramite questo modulo specifico (CGID) di Apache sulle sue offerte di hosting condivise.
- Pertanto, è necessario prendere in considerazione la Cambiare offerta per un'offerta di Server Cloud se sei attualmente su un hosting Web condiviso.
Utilizzo degli script
Ecco alcune informazioni pratiche:
- La posizione (path) dell'interprete di python è
/usr/bin/python
. mod_python
Non è supportato.- Esecuzione di script senza estensione
pl
oppurecgi
Tuttavia, non è possibile un file.pl
può esistere ed essere chiamato tramite un URL senza l'estensione.
Se si ottiene il seguente messaggio di errore:
CGIWrap Error: Execution of this script not permitted
Execution of that script is not permitted for the following reason:
(1) Script file not found.
Request Data:Extra Path Info: /dossier/wwwdata/collection/vignettes/blabla.PL.12.34.56.gif
mentre il file caricato è una semplice immagine GIF con un nome di file di tipo "blabla.PL.12.34.56.gif
"Questo deriva dal nome dei file in questione. Per aggirare il problema, Rinomina semplicemente i tuoi file.
Questa guida spiega come modificare la direttiva error_reporting()
sul tuo sito web.
Abilitare la Segnalazione degli Errori
Includi le seguenti 2 righe nel tuo file .user.ini
:
display_errors=on
error_reporting=E_ALL & ~E_NOTICE & ~E_STRICT
Se il tuo browser non visualizza errori né avvisi, allora non ce ne sono.
Disabilitare la Visualizzazione degli Errori PHP
Per WordPress, modifica il file wp-config.php e sostituisci la riga:
define('WP_DEBUG', false);
con:
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);
In caso contrario, aggiungi il seguente codice al file .user.ini:
display_errors=off
Questa guida riguarda IonCube Loader, un modulo PHP che consente di decodificare gli script PHP che sono stati codificati con IonCube Encoder.
Preambolo
- La codifica IonCube viene utilizzata per proteggere il codice sorgente di un'applicazione e impedire la sua modifica o distribuzione illegale.
- Utilizzando IonCube Loader, i proprietari del sito possono garantire la sicurezza del loro codice e contenuto, consentendo allo stesso tempo una distribuzione sicura e facile delle loro applicazioni.
Utilizzare ionCube Loader
Con un hosting condiviso non è più offerto Puoi verificarlo dal cruscotto:
- Clicca qui per accedere alla gestione del prodotto sul Manager Infomaniak (Hai bisogno di aiuto?).
- Clicca direttamente sul nomeattribuito al prodotto in esame:
- Clicca su Gestione sotto Impostazioni avanzate:
- Clicca sulla scheda Estensioni PHP.
- Fare clic su ionCube Loader (se presente nell'elenco) per visualizzare i dettagli:
- Qui bisogna considerare un Server Cloud.
Questa guida riguarda la configurazione e la gestione di ModSecurity sui server Infomaniak. Comprendendo le sue limitazioni, restrizioni e gestendo efficacemente gli errori, puoi ottimizzare la sicurezza del tuo sito mantenendone la funzionalità.
Configurazione predefinita
ModSecuritymod_secure) è disponibile e attivato per impostazione predefinita sui server Infomaniak. Ciò significa che tutte le richieste HTTP saranno soggette alle regole di sicurezza definite da ModSecurity.
Non è possibile disattivare ModSecurity sui server Infomaniak. L'impostazione è globale al server in cui il tuo sito è ospitato, il che significa che tutte le regole di sicurezza definite verranno applicate al tuo sito.
Gestione degli errori
Se il messaggio di errore ModSecurity: Access denied with code 403 (phase 2). Operator EQ matched 0 at REQUEST_HEADERS. (...)
viene visualizzato su ModSecurity si dovrebbe verificare che una lingua predefinita sia ben configurata nel browser Web. Questo errore a volte può essere causato da impostazioni di lingua configurate in modo errato nel browser.
Questa guida fornisce informazioni sul file robots.txt
creato per impostazione predefinita per le web hosting su cui il file è assente.
Preambolo
- Il file
robots.txt
agisce come una guida per i robot di esplorazione dei motori di ricerca - È posizionato alla radice di un sito Web e contiene istruzioni specifiche per questi robot, indicando quali directory o pagine sono autorizzati a esplorare e quali devono ignorare
- Attenzione però, i robot possono scegliere di ignorare queste linee guida, facendo
robots.txt
un Guida Volontaria piuttosto che una regola rigorosa
Contenuto del file
Se il file robots.txt
è assente da un sito Infomaniak, un file con lo stesso nome viene generato automaticamente con le seguenti linee guida:
User-agent: *
Crawl-delay: 10
Queste linee guida indicano ai robot di spaziare le loro richieste di 10 secondi, evitando di sovraccaricare inutilmente i server.
Aggirare il robots.txt creato per impostazione predefinita
È possibile aggirare il robots.txt seguendo queste fasi:
- Crea un file vuoto
robots.txt
(sarà utilizzato solo come luogo in modo che le regole non si applichino). - Gestione del reindirizzamento dell'URI (Uniform Resource Identifier)
robots.txt
al file di vostra scelta con l'aiuto di un file.htaccess
.
Esempio
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} /robots.txt$
RewriteRule ^robots\.txt$ index.php [QSA,L]
</IfModule>
Spiegazione
- Il modulo
mod_rewrite
Apache è abilitato per consentire reindirizzamenti. - La condizione
RewriteCond %{REQUEST_URI} /robots.txt$
verifica se la richiesta riguarda il filerobots.txt
. - La regola
RewriteRule ^robots\.txt$ index.php [QSA,L]
reindirizza tutte le richieste arobots.txt
index.php
, con l'opzione[QSA]
che mantiene i parametri di richiesta.
Si consiglia di inserire queste istruzioni all'inizio del file .htaccess
.
Questa guida specifica l'header "X-Frame-Options" che può essere utilizzato per proteggere, tra l'altro, l'attacco di clickjacking Si noti che l'header "X-Frame-Options" potrebbe non essere supportato da tutti i browser Web. Si consiglia quindi di combinarlo con altri metodi per aumentare la sicurezza del tuo sito web.
Possibili valori per l'header
L'header "X-Frame-Options" può essere impostato per impedire a un sito Web di essere caricato in un frame o iframe. Ci sono tre possibili valori per questo header:
- "DENY": il sito web non può essere caricato in un frame o iframe
- "SAMEORIGIN": il sito web può essere caricato in un frame o iframe solo se la fonte del frame o dell'iframe appartiene allo stesso dominio del sito web
- "ALLOW-FROM uri": il sito web può essere caricato in un frame o iframe solo dall'URI specificato
È possibile impostare questo header aggiungendo le seguenti righe al file .htaccess:
Header set X-Frame-Options "DENY"
o utilizzando la funzione header() di PHP perché viene eseguita in FPM, allo stesso modo che durante la Disattivazione di HSTS ad esempio:
header('X-Frame-Options: DENY');
Sostituisci "DENY" con il valore desiderato per questo header.
Questa guida illustra l'uso di DELIMITER
per creare funzioni MySQL su Server Cloud Infomaniak.
Preambolo
- Quando si creano funzioni o procedure memorizzate in MySQL, è fondamentale comprendere il ruolo dei delimitatori.
- L'uso corretto dei delimitatori è essenziale per evitare errori di sintassi che possono verificarsi a causa della presenza di più istruzioni SQL in una singola definizione di funzione o procedura.
Capire il delimitatore
Un delimitatore è un carattere o una sequenza di caratteri utilizzati per separare le istruzioni SQL in uno script. Per impostazione predefinita, MySQL utilizza il punto e virgola (;
) come delimitatore. Tuttavia, quando si creano funzioni, procedure archiviate o trigger che contengono più istruzioni SQL, è necessario modificare temporaneamente il delimitatore per evitare errori di sintassi.
Quando si crea una funzione, procedura o trigger, è spesso necessario utilizzare più istruzioni SQL all'interno del blocco BEGIN...END
Punto e virgola (;
) essendo utilizzato anche per completare queste istruzioni interne, MySQL potrebbe interpretare il primo punto e virgola come la fine della definizione della funzione, il che comporterebbe un errore di sintassi. Per aggirare questo problema, è necessario modificare il delimitatore durante la definizione della funzione.
Creare una funzione semplice utilizzando delimitatori personalizzati
Prima di impostare la funzione, è necessario indicare a MySQL che si sta per utilizzare un altro delimitatore. Nell'esempio qui sotto, $$
viene utilizzato come nuovo delimitatore:
DELIMITER $$
Con il nuovo delimitatore in posizione, ora puoi impostare la tua funzione. Le CREATE FUNCTION
include il corpo della funzione, dove è possibile utilizzare istruzioni SQL interne separate da punti e virgola senza problemi:
CREATE FUNCTION hello_world()
RETURNS TEXT
LANGUAGE SQL
BEGIN
RETURN 'Hello World';
END;
$$
In questo esempio:
CREATE FUNCTION hello_world()
: dichiara l'inizio della definizione della funzionehello_world
.RETURNS TEXT
Specifica il tipo di dati che la funzione restituisce.LANGUAGE SQL
Indica che il linguaggio utilizzato per la funzione è SQL.BEGIN ... END
Incapsula il codice della funzione. All'interno, il punto e virgola viene utilizzato per separare le istruzioni SQL.RETURN 'Hello World';
: istruzione SQL che restituisce la stringa di caratteriHello World
.
Dopo aver definito la funzione, riportare il delimitatore allo stato predefinito (punto e virgola). Ciò consente di continuare a eseguire le normali istruzioni SQL nei seguenti script:
DELIMITER ;
Questa guida spiega come effettuare trasferimenti di file tra Hébergement Web e/o Serveur Cloud in modo sicuro e semplificato.
Premessa
- L'FXP (Protocollo di Scambio Fileè un metodo di trasferimento di file direttamente tra due server FTP senza che i dati transitino attraverso il client locale.
- Utilizzando i comandi FTP PORT e PASV, consente di stabilire una connessione tra i due server per un trasferimento di file più rapido ed efficiente, risparmiando così la banda.
- Tuttavia, questo metodo può presentare rischi per la sicurezza se le connessioni non sono protette da FTPS, e richiede una configurazione più complessa rispetto ai trasferimenti FTP tradizionali.
Trasferire dati tra server
FXP è attivato per impostazione predefinita sugli hosting Web e Server Cloud.
Ad esempio, è possibile utilizzare CrossFTP, un software multipiattaforma che consente di eseguire FXP (ma anche FTP, SFTP, WebDav, S3, OpenStack Swift).
Questa guida spiega come attivare le seguenti funzioni su Hébergement Web (in corsivo, Serveur Cloud solo):
proc_open
popen
exec()
shell_exec()
set_time_limit
passthru
system
Queste funzioni sono disattivate per impostazione predefinita perché rappresentano un rischio di sicurezza significativo in caso di pirataggio di un sito web. Attivale solo in caso di reale necessità (di uno script o CMS ImageMagick, Typo3, CraftCMS, ecc.).
Attivare le funzioni PHP
Per accedere alla gestione del sito web:
- Clicca qui per accedere alla gestione del tuo prodotto su Manager Infomaniak (hai bisogno di aiuto?).
- Fai clic direttamente sul nome assegnato al prodotto interessato:
- Fai clic su Gestisci sotto Impostazioni avanzate:
- Fai clic sulla scheda PHP / Apache.
- Clicca sui pulsanti a scorrimento (toggle switch) On/Off come desiderato:
- Clicca sul pulsante Salva per confermare le modifiche.
Questa guida spiega come modificare la password di gestione di WordPress o qualsiasi altra Applicazione Web (Joomla, Drupal, Typo3, PrestaShop, ownCloud, ecc.) installata tramite gli strumenti Infomaniak inclusi nelle offerte diWeb hosting a pagamento.
Preambolo
- Alcune applicazioni consentono anche un cambio della password dell'utente direttamente dalla loro interfaccia dedicata:
- Esempio: WordPress (gestire utenti, nomi, password, ruoli, ecc.).
Modificare la password di un'app Web
Per cambiare la password di accesso al pannello di amministrazione dell'applicazione Web, eseguire le seguenti azioni:
- Clicca qui per accedere alla gestione del prodotto sul Manager Infomaniak (Hai bisogno di aiuto?).
- Clicca direttamente su il nomeattribuito al prodotto in esame:
- Clicca su il menu di azionesituato a destra dell'Applicazione Web interessata.
- Clicca su Impostazioni dell'applicazione:
- Clicca su Modifica a destra dell'Applicazione:
- Sotto Password immettere la nuova password (per l'accesso con l'ID sopra indicato):
- Clicca sul pulsante Salva in fondo alla pagina.