Hallo,
ich bastel jetzt gut 2 Wochen an meinem Server und da das Grundgerüst soweit steht sitze ich jetzt an der Umsetzung für den Einsatz von MySql damit der webSocket-Server auch mit der Datenbank kommunizieren kann!
Zum testen habe ich da selber schon 2 Sachen ausgeführt:
Klappt beides auch wunderbar, mir scheint das dass mysql-Plugin da stark dem php-PDO folgt und hier auch prep-statements unterstützt.
Mich würde interessieren wie injectionssicher diese sind?
Je nach Anforderung werde ich natürlich noch spezifische Überprüfungen durchführen, wie ID,s auf integer prüfen module für mysql_real_escape nutzten und auch ein stripe_tag modul ist installiert, da sollte das ganze doch nahezu den gleichen Stand wie PHP erreichen oder nicht?
MFG: Paykoman
ich bastel jetzt gut 2 Wochen an meinem Server und da das Grundgerüst soweit steht sitze ich jetzt an der Umsetzung für den Einsatz von MySql damit der webSocket-Server auch mit der Datenbank kommunizieren kann!
Zum testen habe ich da selber schon 2 Sachen ausgeführt:
Code:
// nutzbare plugins
striptags = require('striptags'),
escape = require("html-escape");
// test #1
db.query('INSERT INTO contacts (uid, cid, status, grp, date) VALUES (?, ?, ?, ?, ?)', ['9', '7', '3', '7', '2015-09-21 09:11:13']);
// test #2
db.query('SELECT * FROM accounts WHERE id = ?', 7)
.on('result', function(data){
// Push results onto the notes array
//notes.push(data)
socket.emit('testReceive', data);
deliver(socket.id, 1, {'testReceive': data});
});
// weitere Funktion zur validierung
function is_int(n){
return Number(n) === n && n % 1 === 0;
}
function mysql_real_escape_string( str ){
return str.replace(/[\0\x08\x09\x1a\n\r"'\\\%]/g, function (char) {
switch (char) {
case "\0":
return "\\0";
case "\x08":
return "\\b";
case "\x09":
return "\\t";
case "\x1a":
return "\\z";
case "\n":
return "\\n";
case "\r":
return "\\r";
case "\"":
case "'":
case "\\":
case "%":
return "\\"+char; // prepends a backslash to backslash, percent,
// and double/single quotes
}
});
}
Klappt beides auch wunderbar, mir scheint das dass mysql-Plugin da stark dem php-PDO folgt und hier auch prep-statements unterstützt.
Mich würde interessieren wie injectionssicher diese sind?
Je nach Anforderung werde ich natürlich noch spezifische Überprüfungen durchführen, wie ID,s auf integer prüfen module für mysql_real_escape nutzten und auch ein stripe_tag modul ist installiert, da sollte das ganze doch nahezu den gleichen Stand wie PHP erreichen oder nicht?
MFG: Paykoman