Advertisement
Guest User

Untitled

a guest
Oct 31st, 2018
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. var mysql = require('mysql');
  2. var express = require('express');
  3. var http = require('http');
  4. var app = express();
  5. var nl = '\n';
  6. var head = '<!DOCTYPE html>' + nl + '<html>' + nl + '<head>' + nl;
  7. head += '<title>Books</title>' + nl + '</head>' + nl + '<body>' + nl;
  8.  
  9. var conn = mysql.createConnection({
  10. host : 'mysql-server-1.macs.hw.ac.uk',
  11. user : 'hamish', password : '?????????', database : 'hamish'
  12. });
  13.  
  14. conn.connect(function (error) {
  15. if (error) {
  16. console.log('error: ' + error.stack);
  17. }
  18. });
  19.  
  20. app.get('/search', function (req, res) {
  21. var s = req.query.search.trim();
  22. if (s.indexOf(';') != -1) s = '*'; // stop injection attack
  23. var q = 'select * from Games';
  24. if (s != '*') q += ' where Name=\'' + s + '\' or Seller=\'' + s + '\'';
  25. conn.query(q, function (err, results, fields) {
  26. if (err) {
  27. res.send('error querying: ' + err);
  28. return;
  29. }
  30. var s = head + '<table border=\'1\'>' + nl + '<tr>';
  31. for (var i in fields) s += '<th>' + fields[i].name + '</th>';
  32. s += '</tr>' + nl;
  33. for (var row in results) {
  34. s += '<tr>' + nl;
  35. for (var col in results[row])
  36. s += '<td>' + results[row][col] + '</td>' + nl;
  37. s += '</tr>' + nl;
  38. }
  39. s += '</table>' + nl + '</body>' + nl + '</html>' + nl;
  40. res.send(s);
  41. });
  42. });
  43.  
  44. var svr = http.createServer(app);
  45. svr.on('error', function (err) {
  46. console.log('Server: ' + err);
  47. });
  48. svr.listen(8080, function () {
  49. console.log('Node: linux06 on port 8080');
  50. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement