Dit. Never trust user input.
Het hoeft niet eens om een bug te gaan, maar kan ook prima een bot zijn die gewoon data gaat lopen opsturen naar een API oid.
Je pagina die er voor ligt kan prima validaties bevatten en toch krijg je rotzooi binnen.
Maargoed, wat ik uit de informatie van PHP begrijp, is dat assertions niet bedoeld zijn voor checks in productie.
Zie:
http://php.net/manual/en/function.assert.phpAssertions should not be used for normal runtime operations like input parameter checks. As a rule of thumb your code should always be able to work correctly if assertion checking is not activated.
Het idee is dat je de werking van je code op bepaalde kritische momenten checkt.
Niet dat je assertions gebruikt/misbruikt om input te controleren. Dat is code die je zelf zou moeten schrijven.
Assertions zouden ook meer rekenwerk vereisen en dus gebruik je ze bij voorkeur niet voor runtime checks, alleen maar in Dev/Test waar een beetje meer resource verbruik niet zo erg is.
PHP bied dan ook de mogelijkheid om je assertions in productiecode te laten staan, en dan via een switch aan of uit te zetten al naar gelang de enviroment waar de software heen gedeployed is.
Niet persé. Het kan prima voor een Test-env blijven staan om je Test Engineers te ondersteunen in het testproces.
En in je productie code mag het blijven staan, maar je zet het gewoon uit met een switch. Dat zou moeten zorgen dat het geen resources kost.
[
Voor 13% gewijzigd door
McKaamos op 10-10-2018 14:08
]