Reacties op het script download teller script
|
Gepost op: 26 oktober 2008 - 13:16 |
|
|
|
Crew .NET
|
if (empty($fname)){
die ("er is een fout opgetreden, ga terug naar de vorige pagina aub.");
} else if (empty($url)) {
die ("er is een fout opgetreden, ga terug naar de vorige pagina aub.");
}
die ("er is een fout opgetreden, ga terug naar de vorige pagina aub."); } else if (empty($url)) { die ("er is een fout opgetreden, ga terug naar de vorige pagina aub."); }
Dit kan je korter schrijven:
if (empty($fname) || empty($url))
//foutmelding
else
//iets anders doen
//foutmelding else //iets anders doen
Plus, je doet niets van controle op die GET-variabelen. Als ik slechte bedoelingen heb kan ik SQL-injection toepassen! |
|
|
|
Gepost op: 26 oktober 2008 - 14:13 |
|
|
|
Nieuw lid
|
ik heb net weer wat aangepast,
SQL is beveiligt toch :? |
|
|
|
Gepost op: 26 oktober 2008 - 14:49 |
|
|
|
Crew algemeen
|
download.php is ook niet helemaal correct.
Als $fname of $url leeg is word die melding wel weergeven, maar word de rest van het script ook nog gewoon uitgevoerd...
<?php
///////////////////////////////////////
///////////download.php////////////////
/////////////////////////////////////
require ("connect.php"); //verbinding maken
if (empty($fname) || empty($url)){
echo "er is een fout opgetreden, contacteer aub de webmaster";
} else {
//juiste rij updaten
$query = "UPDATE downloads SET aantal=aantal+1 WHERE download ='".mysql_real_escape_string($fname)."'"; //thanx to Auriorx
//uitvoeren van de query
$sql = mysql_query($query) or die ("er zijn op dit moment wat problemen met de databace, probeer het later nog eens !<br />Dit is de error : <br /><font color='red'>'".mysql_error()."'</font>");
header('Location: '.$url);
}
?>
<?php /////////////////////////////////////// ///////////download.php//////////////// ///////////////////////////////////// require ("connect.php"); //verbinding maken echo "er is een fout opgetreden, contacteer aub de webmaster"; } else { //juiste rij updaten $query = "UPDATE downloads SET aantal=aantal+1 WHERE download ='".mysql_real_escape_string($fname)."'"; //thanx to Auriorx //uitvoeren van de query $sql = mysql_query($query) or die ("er zijn op dit moment wat problemen met de databace, probeer het later nog eens !<br />Dit is de error : <br /><font color='red'>'".mysql_error()."'</font>"); } ?>
|
|
|
|
Gepost op: 26 oktober 2008 - 14:50 |
|
|
|
Nieuw lid
|
jah klopt,
zag ik ook net
ik heb alles net gefixt |
|
|
|
Gepost op: 26 oktober 2008 - 14:52 |
|
|
|
Crew algemeen
|
|
|
|
Gepost op: 26 oktober 2008 - 14:56 |
|
|
|
Nieuw lid
|
nee,
hij verswees niet door,
omdat ik de variable niet had toegekent |
|
|
|
Gepost op: 28 oktober 2008 - 20:57 |
|
|
|
Beheerder
|
Zijn alle fouten er nu uit dan? En heb je de verbeteringen doorgevoerd? |
|
|
|
Gepost op: 29 oktober 2008 - 07:07 |
|
|
|
Nieuw lid
|
jah, allemaal,
bij mij werkt hij foutloos,
als mischien iemand (met meer kennis als ik) hem Alsjeblieeft wil doorlopen op fouten die achter gebleven zijn,
zou ik dat heel prettig vinden,
maar volgens mij zijn alle fouten er uit nu ! |
|
|
|
Gepost op: 06 november 2008 - 16:00 |
|
|
|
Onbekend
|
Waarom de gets naar een nieuwe variabelen schrijven? Deze kun je gewoon zelf controleren.
Waarom een query aanmaken en deze later door de mysql_query functie heen gooien? (Helaas doen heel veel mensen dat, snap het nut niet).
In je Or Die gedeelte van de query heb je een hele zin, deze lijkt gemaakt te zijn voor een normale bezoeker, daarachter staat de foutmelding voor de ontwikkelaar. Dit is niet netjes en het hangt af van de fout, maar iemand kan leuke dingen er mee doen. Probeer sowieso geen Or Die te gebruiken maar werk met Exceptions.
Waarom de ene keer require en de andere keer include, ook zijn hier haakjes ( ) overbodig. (Helaas wordt ook dit door heel veel mensen gedaan. Snap ook dit niet).
Je fetch met object, assoc is veel handiger, mooier en netter in gebruik.
Waar wordt $fname gedefineert?
Korte versie om iets in HTML snel te echo`en: <?=$url;?>
Het zijn veel tips. Ik probeer je niet af te kraken, lees het als een iets waar je later wat aan kan hebben, ook andere.
Succes verder, misschien nog een loggertje erbij wie er als geklikt heeft? |
|
|
|
Gepost op: 06 november 2008 - 20:22 |
|
|
|
Nieuw lid
|
bedankt voor je tips,
ik ben idd dat include heb ik later veranderd, alleen bij het andere script niet....
en over dat korte echoën,
dat wist ik nog niet ;) bedankt...
ga ik later zeker gebruiken ;)
er staat in de text dat op de plek waar je het script include,
dat je daar $fname zelf moet includen,( ik pas het ff aan zo...)
ik denk dat ik dit script niet verder meer aanpas,
heem mischien als ik iets meer verstand van heb, pas ik hem helemaal aan aan de norm...
bedankt voor je reactie iniedergeval ! |
|
|
Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom. |
|
|
|