Cambio password ed immagine homepage
Cambio password ed immagine homepage postato il 17/01/2012 08:56:02 nel forum programmazione, open source e hosting e modificato da rosanera il 18/01/2012 09:30:15
Avevo già postato un problema che ho risolto (cambiando metodologia di gioco ma risolto xD) adesso ho altri due problemi:
1- come faccio a mettere in ogni scheda personaggio, quando clicca su modifica, la possibilità di cambiarsi password da solo?
2- come faccio a caricare un immagine sulla homepage dopo che l'ho caricata sul data base?
Insomma su che file devo lavorare senza far danni? xD
grazie in anticipo a chi cercherà di aiutarmi (senza uccidermi)
Pagine → 1
17/01/2012 19:46:00 e modificato da takkero il 17/01/2012 19:50:22
cicciokr ha scritto: 1) nella pagina php di modifica.. mi pare si chiama scheda_mod o non ricordo.. metti
Password: <input type=password name=password>
e dopo devi trovare la query che fa l'update nel database e metti password='".$_POST['password']."'
cosi vedrai di sicuro che bella Sql injection ti fanno...
in riferimento alla domanda del thread: www.php.net è la via..
in risposta alla domanda n° 2 mi viene qualche dubbio e quindi ti chiedo.. sei sicuro di saper programmare? O_o
17/01/2012 20:22:20 e modificato da irenes il 17/01/2012 20:23:39
takkero ha scritto: [quote]cicciokr ha scritto: 1) nella pagina php di modifica.. mi pare si chiama scheda_mod o non ricordo.. metti
Password: <input type=password name=password>
e dopo devi trovare la query che fa l'update nel database e metti password='".$_POST['password']."'
cosi vedrai di sicuro che bella Sql injection ti fanno...
[/quote]
E per evitare ciò, cosa dovrebbe invece fare, nel caso specifico?
Rispondendo al topic: sostanzialmente devi prendere il contenuto del file user_cambio_pass.inc e, ovviamente con le dovute accortezze, metterlo nella pagina "modifica scheda" :)
17/01/2012 20:30:52
irenes ha scritto: [quote]takkero ha scritto: [quote]cicciokr ha scritto: 1) nella pagina php di modifica.. mi pare si chiama scheda_mod o non ricordo.. metti
Password: <input type=password name=password>
e dopo devi trovare la query che fa l'update nel database e metti password='".$_POST['password']."'
cosi vedrai di sicuro che bella Sql injection ti fanno...
[/quote]
E per evitare ciò, cosa dovrebbe invece fare, nel caso specifico?
Rispondendo al topic: sostanzialmente devi prendere il contenuto del file user_cambio_pass.inc e, ovviamente con le dovute accortezze, metterlo nella pagina "modifica scheda" :)[/quote]
sulla rete ci sono alcuni analizzatori php... tu gli dai in pasto del codice e loro analizzandolo secondo alcune librerie eliminano eventuali codici malevoli pulendo il codice dato in input inizialmente..
17/01/2012 23:19:23
come dice takkero, la domanda due non ha molto senso a meno che stai usando un qualche complicatissimo sistema che scrive le immagini sul database. è possibile, basta una semplice query per farlo, ma non ha senso; le immagini si immagazzinano sul filesystem.
Se invece non sei stato preciso e volevi dire che hai un immagine sul server (filesystem), allora devi semplicemente imparare come si scrive il tag html img:
<img src="http://il_mio_sito.it/la_mia_immagine.jpg" alt="Descrizione immagine" />
La domanda 1 invece può diventare molto pericolosa. Prima di tutto, le password sul database devono essere criptate, meglio se ridotte in forma di hash con MD5, SHA-1 o un algoritmo simile. Io personalmente uso una libreria speciale per creare hash molto più forti, chiamata phpass, è una libreria di pubblico dominio.
Per far modificare la password agli utenti semplicemente eviti di caricarla dal database, dai agli utenti un campo password vuoto, e se loro lo riempiono lo script aggiorna la password nel database.
Ecco un esempio con MD5
<html>
<head>
</head>
<body>
<?php
if(!empty($_POST['pass']) && !empty($_POST['pass1'])){
if($_POST['pass']==$_POST['pass1']){
$MySql="UPDATE Personaggio SET Password=MD5(". mysql_real_escape_string($_POST['pass']).") WHERE ID=".(int)$_POST['id'];
mysql_query($MySql);
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<input type="hidden" name="id" value="<?php CARICA QUI L'ID DEL PERSONAGGIO NEL MODO CHE PREFERISCI" />
<label>Password: </label><input type="password" name="pass" />
<label>Ripeti Password: </label><input type="password" name="pass1" />
<input type="submit" value="invia" />
</form>
</body>
</html>
18/01/2012 17:18:18 e modificato da spiral il 18/01/2012 17:23:30
takkero ha scritto: [quote]cicciokr ha scritto: 1) nella pagina php di modifica.. mi pare si chiama scheda_mod o non ricordo.. metti
Password: <input type=password name=password>
e dopo devi trovare la query che fa l'update nel database e metti password='".$_POST['password']."'
cosi vedrai di sicuro che bella Sql injection ti fanno...
in riferimento alla domanda del thread: www.php.net è la via..
in risposta alla domanda n° 2 mi viene qualche dubbio e quindi ti chiedo.. sei sicuro di saper programmare? O_o
[/quote]
Togliti pure ogni dubbi non capisco un H di programmazione xD sono un autodidatta incapace
ma con mysql e manuali php pian piano (e con pian piano intendo alla velocità di una lumaca zoppa) sto imparando qualcosa =D
si ora che ho controllato l'ultima risposta penso che scrivevo male il tag per l'img T.T
grazie dell'aiuto provo subito a smanettarci per le pass
29/01/2012 02:46:57
leoblacksoul ha scritto: come dice takkero, la domanda due non ha molto senso a meno che stai usando un qualche complicatissimo sistema che scrive le immagini sul database. è possibile, basta una semplice query per farlo, ma non ha senso; le immagini si immagazzinano sul filesystem.
Se invece non sei stato preciso e volevi dire che hai un immagine sul server (filesystem), allora devi semplicemente imparare come si scrive il tag html img:
<img src="http://il_mio_sito.it/la_mia_immagine.jpg" alt="Descrizione immagine" />
La domanda 1 invece può diventare molto pericolosa. Prima di tutto, le password sul database devono essere criptate, meglio se ridotte in forma di hash con MD5, SHA-1 o un algoritmo simile. Io personalmente uso una libreria speciale per creare hash molto più forti, chiamata phpass, è una libreria di pubblico dominio.
Per far modificare la password agli utenti semplicemente eviti di caricarla dal database, dai agli utenti un campo password vuoto, e se loro lo riempiono lo script aggiorna la password nel database.
Ecco un esempio con MD5
<html>
<head>
</head>
<body>
<?php
if(!empty($_POST['pass']) && !empty($_POST['pass1'])){
if($_POST['pass']==$_POST['pass1']){
$MySql="UPDATE Personaggio SET Password=MD5(". mysql_real_escape_string($_POST['pass']).") WHERE ID=".(int)$_POST['id'];
mysql_query($MySql);
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<input type="hidden" name="id" value="<?php CARICA QUI L'ID DEL PERSONAGGIO NEL MODO CHE PREFERISCI" />
<label>Password: </label><input type="password" name="pass" />
<label>Ripeti Password: </label><input type="password" name="pass1" />
<input type="submit" value="invia" />
</form>
</body>
</html>
anche questo è passibile di sqli..
29/01/2012 10:09:11 e modificato da dyrr il 29/01/2012 10:10:49
Più che una vera e propria SQL Injection, dove si possa far eseguire una query diversa da quella prevista tramite la manipolaizone della query:
questa:
$MySql="UPDATE Personaggio SET Password=MD5(". mysql_real_escape_string($_POST['pass']).") WHERE ID=".(int)$_POST['id'];
Permette a chiunque di reimpostare la password di qualsiasi altro utente conoscendone l'id, o di andare a casaccio burrando a caso i primi id tra cui di solito c'è sempre quello dell'admin o del super user.
io consiglierei di sostituire quel:
(int)$_POST['id']
con un
(int)$_SESSION['id'] supposto che si salvi l'id del pg in una variabile di sesisone, o nel caso come di solito si fa si salva il nome dell'utente nella variabile di sessione un
WHERE Nome = '".mysql_real_escape_string($_SESSION['Login'])."'
N.B.: ho utilizzato nomi delle variabili e dei campi del database indicativi perchè sia un esempio e non un codice che funzioni incollandolo nella query il tutto va adattato alle proprie esigenze e OS utilizzato
06/02/2012 16:18:03
smanettando sto riuscendo a risolvere ciò che consideravo problemi ma ancora mi fermo sulle cose da niubbi
infandi anche se ho risolto i problemi coi dadi del precedente post e questo delle password, sono fermo sull'immagine dello sfondo dell'homepage
la tag l'ho inserita così
div.page_homepage{
width: 1100px;
height: auto;
margin-left:auto;
margin-right:auto;
background-image:<img src="http://steelwar.altervista.org/themes/basic/imgs/sfondo1.jpg" border="1" width="640" height="480"> (imgs/homepage.png); /*immagine dello sfondo homepage*/
border: 1px white dotted;
}
dove sto sbagliando?
06/02/2012 17:57:51
background-image:<img src="http://steelwar.altervista.org/themes/basic/imgs/sfondo1.jpg" border="1" width="640" height="480"> (imgs/homepage.png); /*immagine dello sfondo homepage*/
L'errore è qui, ma sinceramente non so cosa significhi quel codice. Quello è codice CSS, mischiato con HTML, più un percorso a un immagine tra parentesi. Qual'è il percorso all'immagine che vuoi avere come sfondo? dato che ne hai messe due. Dovresti guardare degli esempi su internet prima di provare un linguaggio che non conosci, così capisci come usarlo.
La sintassi corretta per la direttiva del background è questa:
background-image:url('./percorso/alla/mia/immagine.png');
06/02/2012 18:10:01
leoblacksoul ha scritto:
background-image:<img src="http://steelwar.altervista.org/themes/basic/imgs/sfondo1.jpg" border="1" width="640" height="480"> (imgs/homepage.png); /*immagine dello sfondo homepage*/
L'errore è qui, ma sinceramente non so cosa significhi quel codice. Quello è codice CSS, mischiato con HTML, più un percorso a un immagine tra parentesi. Qual'è il percorso all'immagine che vuoi avere come sfondo? dato che ne hai messe due. Dovresti guardare degli esempi su internet prima di provare un linguaggio che non conosci, così capisci come usarlo.
La sintassi corretta per la direttiva del background è questa:
background-image:url('./percorso/alla/mia/immagine.png');
preso dalla voglia di rimettermi al lavoro ho ripreso a studiare php, html e sql ... facendo un casino coi linguaggio
forse faccio meglio ad andare più piano perchè così sto facendo solo caciare é.è uff ...
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
AlterEgo ↗
Tiles Survive ↗
Project Entropy ↗
World of Warship ↗
War Thunder ↗
Wuthering Waves ↗
State of Survival ↗
Neverness to Everness ↗