Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

variabelen doorgeven--> dubbel werk??

None
9 antwoorden
  • voordat ik een (waarschijnlijk) goed script verknal, graag jullie mening, ik heb namelijk het gevoel dat het script dubbel werk doet..

    waarom deze handeling?
    [code:1:d5bc4fa356]
    $klant_voornaam = $_POST['klant_voornaam'];
    $klant_email = $_POST['klant_email'];
    $klant_wachtwoord = $_POST['klant_ww'];

    $sql_query = "SELECT * FROM klanten WHERE klant_email='".$klant_email."';";
    $result = mysql_query($sql_query);
    [/code:1:d5bc4fa356]

    als dit volgens mij net zo goed kan?
    [code:1:d5bc4fa356]
    $sql_query = "SELECT * FROM klanten WHERE
    klant_email='".$_post['klant_email']."';";
    $result = mysql_query($sql_query);

    [/code:1:d5bc4fa356]

    of zie ik een veiligheidsiets over het hoofd of zo?
  • kan het zijn omdat de auteur verder in het script niet elke keer $-POST wilt gebruiken of is dit een makkelijke manier om die global-variablen=OFF te omzeilen?
  • Waarschijnlijk het eerste: de programmeur wil werken met lokale/eigen variabelen.
    Zelf werk ik ook altijd liever met een lokale kopie van $_POST, eventueel gevuld via een wrapperfunctie zodat er nog wat extra checks kunnen plaatsvinden.
  • pff wat een werk als je een formulier met 30 vragen eerst lokaal gaat omzetten..
  • [code:1:598b998621] $sql_query = "SELECT * FROM klanten WHERE
    klant_email='".$_post['klant_email']."';";
    $result = mysql_query($sql_query); [/code:1:598b998621]

    Zo voer je natuurlijk geen enkele controle uit op wat er gesubmit wordt en dus laadt je een groot veiligheidslek open. Ook is de kans groter op een foute query mochten er rare tekens in een van de waardes staan.
  • over dat veiligheidslek ben ik het met je eens maar het ging me om die tussenstap.. die is in dit voorbeeld dus overbodig.

    wat inderdaad beter zou zijn is:

    [code:1:ff1c0fee7b]$klant_email = htmlspecialchars($_POST['klant_email']);[/code:1:ff1c0fee7b]
    of iets dergelijks

    bedoel je dat?
  • ja precies. En op zich kun je dat ook wel allemaal in 1 aanroep doen, maar dan wordt het erg onoverzichtelijk en spaart het je eigenlijk nouwelijks tijd. Ook kan ik me voorstellen dat je meer dan 1 bewerking op een waarde wil doen (bijvoorbeeld html filteren [i:d695c8021c]en[/i:d695c8021c] checken op vreemde karakters). Als je dat overzichtelijk bovenaan doet, kun je snel terugvinden wat je met welke variabele doet, alles in 1 keer maakt dat iets onoverzichtelijker.
  • [quote:bafadeabb2="sander16v"]pff wat een werk als je een formulier met 30 vragen eerst lokaal gaat omzetten..[/quote:bafadeabb2]
    Wie heeft gezegd dat programmeren altijd makkelijk moet zijn ;)
    Maar een slimme aanpak is het halve werk natuurlijk.
  • ik ben er inmiddels wel achter dat ik voorlopig even het "mooie" programmeerwerk moet vergeten maar dat ik eerst met de functionaliteit aan de gang moet gaan…

    waar ik de meeste moeite mee heb is om het gebeuren uniform te houden en ik probeer php en html te scheiden maar dat kan knap lastig zijn.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.