Newsgroup: it.comp.www.php
Titolo: sicurezza siti..quali sono le cose da evitare?

Sento spesso parlare di siti bucati, di bachi nella programmazione che
permettono l'accesso alla root del server,
PREMETTO che sono un WebDesigner, molto bravo con l'html statico, (ma non
con quello dinamico ;o(   ) che adesso sta piano piano migrando al dinamico
(e ha scelto il php).
Quali sono alcune cose da evitare a priori, ci sono delle faq che parlano di
questo specifico aspetto? (la sicurezza intendo.....)
mi serve delle documentazione :)
grazie a tutti... siete un bel newgroup

 Quali sono alcune cose da evitare a priori,
Il 90% della sicurezza di un server e` determinata dal system manager. Se
il sistema e` ben installato, il programmatore PHP dovra` solo
preoccuparsi di:
- integrita` del DB
- sovrapposizione di file
- DoS
- password
- mail spam
Per il primo, generalmente l'uso di addslashes per ogni variabile
proveniente dall'esterno utilizzata in una query SQL risolve il 90% dei
problemi (bug di programmazione esclusi, ovviamente).
Per il secondo e` difficile dare informazioni generali, molto dipende dai
settaggi del server. In ogni caso evitare di passare direttamente nomi di
file PHP in GET o POST da uno script all'altro.
Per il terzo, la questione e` molto generale e dipende fortemente
dall'applicazione. Generalmente un filtraggio con una lista degli ultimi
IP di provenienza e` gia` un buon approccio per pagine potenzialmente
pericolose.
Le password non devo mai apparire in chiaro come POST o GET, tranne
eventualmente nella prima immissione (l'autenticazione via HTTP e`
generalmente piu` sicura).
Infine, il quinto riguarda i form spediti via E-mail: qui e` fondamentale
evitare che l'indirizzo E-mail di destinazione sia letto direttamente da
una variabile spedita in POST o GET (FormMail di Matt Wright e` un PESSIMO
esempio a riguardo! Non so se nelle release successive abbia sistemato il
problema).
A risentirci
\  Davide G. Borin
\\ !!Scudo anti-spam attivo!! Togliere le x e "eliminami" dall'indirizzo
\\\_____________________________________________________________________

io creo dei template e poi li popolo con delle variabili che determinano che
include deve essere "chiamato"
ES: template.php?myid=7&var=dpr
così ci sono problemi?
scusa la mia banalita ma come ti dico sono agli inizi per il dinamico... poi
per un grafico...
ps: cosa sono gli addslashes?
grazie mille per la tua disponibilità

 ps: cosa sono gli addslashes?
Manuale PHP on-line, sezione IV.LXXIII .


file PHP in GET o POST da uno script all'altro.
Aggiungerei la "blindatura" dei files di include; non deve essere possibile
accedervi (significativamente) in modo diretto.
Basta un
	if ($PHP_SELF == "nomefile.php")
	{
		readfile("noinclude.html");
		exit();
	}
all'inizio di ogni file di include. Non costa molto, computazionalmente.
Leonardo
-- 
Nior thainig ar major i dtus an lae chugainn,
is ni rabhamar fein ann i gcoir na gceart
ach mar sheolfai aoireacht bo gan aoire,
ar thaobh na greine de Sliabh na mBan.

ci sono delle FAQ? per protegersi....
...o se non ci sono, esistono degli exploit per imparare dai errori
degl'altri?

 problema).
E da dove lo si legge??? 
Ciao

 E da dove lo si legge???
Per esempio da un array dentro il PHP: in POST passi $i=3, dentro lo
script leggi $indirizzi[(int)$i], altrimenti il tuo form puo`
tranquillamente essere usato per mailbombing e spam vario.
