9Pythonȫվ֮·ϵÁÐÖ®MySQL SLÊäÈë
·¢²¼Ê±¼ä£º2022-03-19 03:24:59 ËùÊôÀ¸Ä¿£ºMySql½Ì³Ì À´Ô´£º»¥ÁªÍø
µ¼¶Á£ºSQL×¢ÈëÊÇÒ»ÖÖ´úÂë×¢Èë¼¼Êõ£¬¹ýÈ¥³£³£ÓÃÓÚ***Êý¾ÝÇý¶¯ÐÔµÄÓ¦Ó㬱ÈÈ罫¶ñÒâµÄSQL´úÂë×¢Èëµ½ÌØ¶¨×Ö¶ÎÓÃÓÚʵʩ******µÈ¡£ SQL×¢ÈëµÄ³É¹¦±ØÐë½èÖúÓ¦ÓóÌÐòµÄ°²È«Â©¶´£¬ÀýÈçÓû§ÊäÈëûÓо¹ýÕýÈ·µØ¹ýÂË£¨Õë¶ÔÄ³Ð©ÌØ¶¨×Ö·û´®£©»òÕßûÓÐÌØ±ðÇ¿µ÷ÀàÐ͵Äʱºò£¬¶¼ÈÝÒ×
SQL×¢ÈëÊÇÒ»ÖÖ´úÂë×¢Èë¼¼Êõ£¬¹ýÈ¥³£³£ÓÃÓÚ***Êý¾ÝÇý¶¯ÐÔµÄÓ¦Ó㬱ÈÈ罫¶ñÒâµÄSQL´úÂë×¢Èëµ½ÌØ¶¨×Ö¶ÎÓÃÓÚʵʩ******µÈ¡£ SQL×¢ÈëµÄ³É¹¦±ØÐë½èÖúÓ¦ÓóÌÐòµÄ°²È«Â©¶´£¬ÀýÈçÓû§ÊäÈëûÓо¹ýÕýÈ·µØ¹ýÂË£¨Õë¶ÔÄ³Ð©ÌØ¶¨×Ö·û´®£©»òÕßûÓÐÌØ±ðÇ¿µ÷ÀàÐ͵Äʱºò£¬¶¼ÈÝÒ×Ôì³ÉÒì³£µØÖ´ÐÐSQLÓï¾ä¡£ SQL×¢ÈëÊÇÍøÕ¾***ÖÐ×î³£ÓõÄ***¼¼Êõ£¬µ«ÊÇÆäʵSQL×¢Èë¿ÉÒÔÓÃÀ´***ËùÓеÄSQLÊý¾Ý¿â¡£ SQL×¢ÈëµÄʵÏÖ ´´½¨SQLdbÊý¾Ý¿â CREATE DATABASE SQLdb; ´´½¨user_info±í CREATE TABLE `user_info` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(32) DEFAULT NULL, `password` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ²åÈëÒ»ÌõÓû§Êý¾Ý ²âÊÔµÄÓû§ÃûÊÇansheng£¬ÃÜÂëas insert into user_info(username,password) values("ansheng","as"); Python´úÂë app.pyÎļþ #!/usr/bin/env python # -*- coding:utf-8 -*- import tornado.ioloop import tornado.web import pymysql class LoginHandler(tornado.web.RequestHandler): def get(self, *args, **kwargs): self.render('login.html') def post(self, *args, **kwargs): username = self.get_argument('username', None) pwd = self.get_argument('pwd', None) conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='as', db='sqldb') cursor = conn.cursor() temp = "select username from user_info where username='%s' and password = '%s'" %(username, pwd,) effect_row = cursor.execute(temp) result = cursor.fetchone() conn.commit() cursor.close() conn.close() if result: self.write('µÇ¼³É¹¦') else: self.write('µÇ¼ʧ°Ü') application = tornado.web.Application([ (r"/login", LoginHandler), ]) if __name__ == "__main__": application.listen(8888) tornado.ioloop.IOLoop.instance().start() HTML´úÂë login.htmlÓëapp.pyÎļþÔÚͬ¼¶ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/login" method="post"> <input type="text" name="username" placeholder="Óû§Ãû" /> <input type="text" name="pwd" placeholder="ÃÜÂë" /> <input type="submit" /> </form> </body> </html> ÑÝʾЧ¹û ´ò¿ªä¯ÀÀÆ÷£¬ÊäÈëµØÖ·http://127.0.0.1:8888/login ÌîдÄÚÈÝÈçÏ£º Óû§Ãû£ºasas ' or 1 = 1-- asd ÃÜÂë£ºËæ±ãÌîдһ´®×Öĸ Èçͼ£º 9Pythonȫվ֮·ϵÁÐÖ®MySQL SL×¢Èë µ±µã»÷Ìá½»µÄʱºòÊÇ·ñ»áÌø×ªµ½µÇ½³É¹¦Ò³Ã棿Èç¹ûÄãµÄ´úÂëºÍÎÒÒ»Ñù£¬ÄÇô¾Í»áÌø×ªµ½µÇ½³ÉÒ³Ãæ¡£ Ϊʲô³öÏÖÕâÖÖÎÊÌ⣿ ³öÏÖÕâ¸öÎÊÌâµÄÖ÷ÒªÔÒò¾ÍÊÇÒòΪÎÒÃÇʹÓÃÁË×Ö·û´®Æ´½ÓµÄ·½Ê½À´½øÐÐSQLÖ¸ÁîµÄÆ´½Ó¡£ SQLÖ¸ÁîÆ´½Ó´úÂë temp = "select username from user_info where username='%s' and password = '%s'" %(username, pwd,) ÕâÊÇÒ»¸öÕý³£µÄSQLÆ´½Ó³öÀ´µÄ½á¹û select username from user_info where username='ansheng' and password = 'as' ÕâÊÇÒ»¸ö·ÇÕý³£µÄSQLÆ´½Ó³öÀ´µÄ½á¹û select username from user_info where username='asas' or 1 = 1 -- asd' and password = 's' ´ÏÃ÷µÄÄãÊÇ·ñÒѾ¿´µ½ÆäÖеÄÐþ»úÁËÄØ£¿-- ÈçºÎ·ÀÖ¹£¿ ͨ¹ýPythonµÄpymysqlÄ£¿éÀ´½øÐÐSQLµÄÖ´ÐУ¬ÔÚpymysqlÄ£¿éÄÚ²¿»á×Ô¶¯°Ñ”'“(µ¥ÒýºÅ×öÒ»¸öÌØÊâµÄ´¦Àí£¬À´Ô¤·ÀÉÏÊöµÄ´íÎó ...... effect_row = cursor.execute("select username from user_info where username='%s' and password = '%s'", (username, pwd)) ...... #Pythonȫջ֮· #Sql×¢Èë¡£ £¨±à¼£ºÌ©ÖÝÕ¾³¤Íø£© ¡¾ÉùÃ÷¡¿±¾Õ¾ÄÚÈݾùÀ´×ÔÍøÂ磬ÆäÏà¹ØÑÔÂÛ½ö´ú±í×÷Õ߸öÈ˹۵㣬²»´ú±í±¾Õ¾Á¢³¡¡£ÈôÎÞÒâÇÖ·¸µ½ÄúµÄȨÀû£¬Ç뼰ʱÓëÁªÏµÕ¾³¤É¾³ýÏà¹ØÄÚÈÝ! |
Ïà¹ØÄÚÈÝ
- MySQL¼à¿Ø¹¤¾ßÖÐorzdbaÔõô°²×°
- MySQLÊý¾Ý¿âÁеÄÔöɾ¸Ä´ï³É·½·¨
- Ò»ÌõSQLÓï¾äÔÚMySQLÖÐÊÇÈçºÎÖ´ÐеÄ
- 200201-007 . ±O–˺òÑa¥ê¥¹¥ÈÈ¡µÃSQL
- html5ÊÓÆµ×Ô¶¯ºá¹ýÀ´×ÔÊÊÓ¦Ò³ÃæÇÒµã»÷²¥·Å¹¦ÄܵÄʵÏÖ
- »ñÈ¡ SQL Server µÄ±íÐÅÏ¢
- MySQLµ¥±íÄ£ÄâËøµÄÓÐÄÄЩÇé¾°
- MySQL·Ö¿â·Ö±í£¬Ð´µÃÌ«ºÃÁË£¡
- Ò»ÎÄ´øÄã½Ò¿ªRedis¸´ÖÆÔÀíµÄÉñÃØÃæÉ´
- MySQLÔËÐжà±í²éѯµÄ·½·¨
Õ¾³¤ÍƼö
- ½«mysql²éѯӦÓÃÓÚÊý¾Ý¿âÖеÄÿ¸ö±í
- SqlÖг£ÓõÄһЩº¯Êý
- ʵÓÃÅÅ¿ÓÌû£ºSQLÓï¾äÐÔÄÜÓÅ»¯²Ù×÷²ßÂÔ´óÈ«
- ÓÚTomcatÖÐÅäÖÃSSLÖ¤ÊéµÄ·½·¨
- ÔÚmysqlÖÐinnodb_fast_shutdown²ÎÊýÓÐʲô×÷ÓÃ
- php ¨C CodeIgniter£ºËùÓÐ$this-#62; db-#62; qu
- ½«AccessÊý¾Ý¿âת»»ÎªSQL ServerµÄ·½·¨
- Êý¾Ý·ÖÎöʦ±Ø±¸µÄ9´ó¼¼ÄÜ£¬´ó¶àÊýÈËÖ»ÖªµÀÒ»°ë
- mysql dateÈçºÎ²åÈënull
- mysql ³öÏÖ1062´íÎóµÄ´¦Ö÷½·¨
ÈȵãÔĶÁ