Archief - mysqli prepared statements - prob met accent

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

sarnath

Legacy Member
In mysql gebruikte ik het volgende om ervoor te zorgen dat niet auto\'s maar auto's in de database kwam te staan.

Nu ben ik een tijd geleden overgeschakeld op prepared statements in mysqli, en men zei dat daar securityzaken vanzelf worden afgehandeld en het dus niet meer nodig is de string (of de variabele) te valideren.

Nu merk ik echter dat er toch wordt opgeslagen wordt als auto\'s

Ik werk dus als volgt:
Code:
$string = "auto's";
if ($stmt = $mysqli->prepare($query)) {						$stmt->bind_param('s',$var);
}
moet ik dan evengoed dit doen ?:

Code:
$string = "auto's";
if ($stmt = $mysqli->prepare($query)) {						$stmt->bind_param('s',stripslashes($var));
}

Dacht gewoon dat het niet meer hoefde met prepared statements.
[/code]

Cycloon

Legacy Member
Hoe iets achter de schermen wordt opgeslagen moet jij je op zich niet aantrekken natuurlijk. Het punt blijft dat je zelf geen slashes moet gaan plaatsen of zelf moet weghalen als je data opvraagt. Ik zou zelf niet weten of mysqli zelf gaat escapen gewoon omdat het totaal niet belangrijk is om dat te weten. Stripslashes en andere zaken zijn zeker niet nodig.

sarnath

Legacy Member
Cycloon zei:
Hoe iets achter de schermen wordt opgeslagen moet jij je op zich niet aantrekken natuurlijk. Het punt blijft dat je zelf geen slashes moet gaan plaatsen of zelf moet weghalen als je data opvraagt. Ik zou zelf niet weten of mysqli zelf gaat escapen gewoon omdat het totaal niet belangrijk is om dat te weten. Stripslashes en andere zaken zijn zeker niet nodig.
Ja maar het verloopt nu als volgt, als ik auto's opsla, staat het in de database als auto\'s en wordt het zo ook terug getoond op het scherm.
ik wil dus dat het als auto's wordt opgeslagen en ik dacht dat dit met prepared statements sowieso het geval was en dat je met mysql stripslashes moet gebruiken.

Cycloon

Legacy Member
Haal je je data ook terug op via een mysqli statement? Of doe je dat via de "oude" mysql manier? In het laatste geval zal je dan wel stripslashes moeten gebruiken, maar dat komt dan omdat je 2 systemen gaat mixen met elkaar.

sarnath

Legacy Member
Cycloon zei:
Haal je je data ook terug op via een mysqli statement? Of doe je dat via de "oude" mysql manier? In het laatste geval zal je dan wel stripslashes moeten gebruiken, maar dat komt dan omdat je 2 systemen gaat mixen met elkaar.

nope alles via mysqli

Curahee Q zei:
Is dat niet omdat magic quotes aanstaat?
idd heb het nu aangepast, daar ik op de productieserver niet altijd toegang heb tot de config heb ik een regel in de .htaccess toegevoegd.

php_flag magic_quotes Off

Nu staan magic quotes dus af.

Ik zou gewoon voor alle duidelijkheid willen weten of het qua veiligheid goed zit zo, dus het gebruik van prepared statements en magic_quotes off.

Curahee Q

Legacy Member
Dieje rommel van magic_quotes moet ge gewoon afzetten. Eerste wat ze zeggen als ze zo een probleem tegenkomen op phpfreakz.nl

sarnath

Legacy Member
Curahee Q zei:
Dieje rommel van magic_quotes moet ge gewoon afzetten. Eerste wat ze zeggen als ze zo een probleem tegenkomen op phpfreakz.nl

blijkbaar :p, bij deze dus gefixt, merci iedereen :)

Cycloon

Legacy Member
sarnath zei:
Ik zou gewoon voor alle duidelijkheid willen weten of het qua veiligheid goed zit zo, dus het gebruik van prepared statements en magic_quotes off.

Als je op een correcte manier met mysqli werkt is veiligheid geen probleem meer (toch niet op gebied van SQL injection).

sarnath

Legacy Member
Cycloon zei:
Als je op een correcte manier met mysqli werkt is veiligheid geen probleem meer (toch niet op gebied van SQL injection).

Idd, vandaar dat men er in de tutorials niet echt aandacht aan schenkt, maar k wilde het zeker weten :)

thx alvast

sarnath

Legacy Member
Hmz, ik heb nu ondervonden dat ik bij mijn host een internal server error krijg als ik php_flag magic_quotes Off gebruik in mijn .htaccess

Nu zegt men op fora dat dit komt omdat php via CGI wordt opgeroepen.

Mijn host zegt dat ze magic_quotes niet kunnen afzetten.

Wat kan ik dan nog als oplossing gebruiken buiten het feit dat ik mijn strings via een stripslashes-achtige functie moet laten gaan?
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan