Learn how to build a simple realtime chat application using Django, Web sockets, Channels and Redis.
Messages are stored in a database, so it's even possible to see old messages.
To connect with the backend, I use Web Sockets (Vanilla JavaScript). To add async support to Django, I use Channels.
Redis is used as a in-memory cache for Channels.
EFSArCBy | Jul 02, 26 08:53
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
-1 OR 2+662-662-1=0+0+0+1 --
EFSArCBy | Jul 02, 26 08:54
-1 OR 2+517-517-1=0+0+0+1
EFSArCBy | Jul 02, 26 08:54
-1' OR 2+527-527-1=0+0+0+1 --
EFSArCBy | Jul 02, 26 08:54
-1' OR 2+307-307-1=0+0+0+1 or 'UizbpGFY'='
EFSArCBy | Jul 02, 26 08:54
-1" OR 2+362-362-1=0+0+0+1 --
EFSArCBy | Jul 02, 26 08:54
555*if(now()=sysdate(),sleep(15),0)
EFSArCBy | Jul 02, 26 08:54
5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
EFSArCBy | Jul 02, 26 08:54
5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
EFSArCBy | Jul 02, 26 08:54
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
EFSArCBy | Jul 02, 26 08:54
555-1; waitfor delay '0:0:15' --
EFSArCBy | Jul 02, 26 08:54
555-1); waitfor delay '0:0:15' --
EFSArCBy | Jul 02, 26 08:54
555-1 waitfor delay '0:0:15' --
EFSArCBy | Jul 02, 26 08:54
555caiUa8kh'; waitfor delay '0:0:15' --
EFSArCBy | Jul 02, 26 08:54
555-1 OR 803=(SELECT 803 FROM PG_SLEEP(15))--
EFSArCBy | Jul 02, 26 08:54
555-1) OR 468=(SELECT 468 FROM PG_SLEEP(15))--
EFSArCBy | Jul 02, 26 08:54
555-1)) OR 538=(SELECT 538 FROM PG_SLEEP(15))--
EFSArCBy | Jul 02, 26 08:54
555F3XOupT2' OR 466=(SELECT 466 FROM PG_SLEEP(15))--
EFSArCBy | Jul 02, 26 08:54
555ZChZhubS') OR 327=(SELECT 327 FROM PG_SLEEP(15))--
EFSArCBy | Jul 02, 26 08:54
555T0g8NufG')) OR 486=(SELECT 486 FROM PG_SLEEP(15))--
EFSArCBy | Jul 02, 26 08:54
555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
EFSArCBy | Jul 02, 26 08:54
555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555'"
EFSArCBy | Jul 02, 26 08:54
@@1i6iQ
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
-1 OR 2+748-748-1=0+0+0+1 -- | Jul 02, 26 08:54
555
-1 OR 2+780-780-1=0+0+0+1 | Jul 02, 26 08:54
555
-1' OR 2+965-965-1=0+0+0+1 -- | Jul 02, 26 08:54
555
-1' OR 2+878-878-1=0+0+0+1 or 'ACvOa6tS'=' | Jul 02, 26 08:54
555
-1" OR 2+262-262-1=0+0+0+1 -- | Jul 02, 26 08:54
555
if(now()=sysdate(),sleep(15),0) | Jul 02, 26 08:54
555
EFSArCBy0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z | Jul 02, 26 08:54
555
EFSArCBy0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z | Jul 02, 26 08:54
555
EFSArCBy-1 waitfor delay '0:0:15' -- | Jul 02, 26 08:54
555
EFSArCBycxgn0dxd'; waitfor delay '0:0:15' -- | Jul 02, 26 08:54
555
EFSArCByDStAgI1K' OR 221=(SELECT 221 FROM PG_SLEEP(15))-- | Jul 02, 26 08:54
555
EFSArCByc4vDNR3r') OR 794=(SELECT 794 FROM PG_SLEEP(15))-- | Jul 02, 26 08:54
555
EFSArCByrLyAF5ln')) OR 368=(SELECT 368 FROM PG_SLEEP(15))-- | Jul 02, 26 08:54
555
EFSArCBy'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||' | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy'" | Jul 02, 26 08:54
555
@@RYVKu | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 02, 26 08:54
555
EFSArCBy | Jul 20, 26 09:52
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
-1 OR 2+954-954-1=0+0+0+1 --
EFSArCBy | Jul 20, 26 09:53
-1 OR 2+832-832-1=0+0+0+1
EFSArCBy | Jul 20, 26 09:53
-1' OR 2+931-931-1=0+0+0+1 --
EFSArCBy | Jul 20, 26 09:53
-1' OR 2+517-517-1=0+0+0+1 or '6D80vaKI'='
EFSArCBy | Jul 20, 26 09:53
-1" OR 2+255-255-1=0+0+0+1 --
EFSArCBy | Jul 20, 26 09:53
555*if(now()=sysdate(),sleep(15),0)
EFSArCBy | Jul 20, 26 09:53
5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
EFSArCBy | Jul 20, 26 09:53
5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
EFSArCBy | Jul 20, 26 09:53
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
EFSArCBy | Jul 20, 26 09:53
555-1; waitfor delay '0:0:15' --
EFSArCBy | Jul 20, 26 09:53
555-1); waitfor delay '0:0:15' --
EFSArCBy | Jul 20, 26 09:53
555-1 waitfor delay '0:0:15' --
EFSArCBy | Jul 20, 26 09:53
5554JVJGHuu'; waitfor delay '0:0:15' --
EFSArCBy | Jul 20, 26 09:53
555-1 OR 429=(SELECT 429 FROM PG_SLEEP(15))--
EFSArCBy | Jul 20, 26 09:53
555-1) OR 349=(SELECT 349 FROM PG_SLEEP(15))--
EFSArCBy | Jul 20, 26 09:53
555-1)) OR 253=(SELECT 253 FROM PG_SLEEP(15))--
EFSArCBy | Jul 20, 26 09:53
555QORSYC8u' OR 520=(SELECT 520 FROM PG_SLEEP(15))--
EFSArCBy | Jul 20, 26 09:53
555NXMzmqaf') OR 746=(SELECT 746 FROM PG_SLEEP(15))--
EFSArCBy | Jul 20, 26 09:53
555n6S82nMC')) OR 340=(SELECT 340 FROM PG_SLEEP(15))--
EFSArCBy | Jul 20, 26 09:53
555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
EFSArCBy | Jul 20, 26 09:53
555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555'"
EFSArCBy | Jul 20, 26 09:53
@@HPSxh
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
-1 OR 2+173-173-1=0+0+0+1 -- | Jul 20, 26 09:53
555
-1 OR 2+528-528-1=0+0+0+1 | Jul 20, 26 09:53
555
-1' OR 2+400-400-1=0+0+0+1 -- | Jul 20, 26 09:53
555
-1' OR 2+706-706-1=0+0+0+1 or 'jqQqtBQy'=' | Jul 20, 26 09:53
555
-1" OR 2+729-729-1=0+0+0+1 -- | Jul 20, 26 09:53
555
if(now()=sysdate(),sleep(15),0) | Jul 20, 26 09:53
555
EFSArCBy0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z | Jul 20, 26 09:53
555
EFSArCBy0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z | Jul 20, 26 09:53
555
EFSArCBy-1 waitfor delay '0:0:15' -- | Jul 20, 26 09:53
555
EFSArCBysnRVwnHB'; waitfor delay '0:0:15' -- | Jul 20, 26 09:53
555
EFSArCByEXfj0v8d' OR 470=(SELECT 470 FROM PG_SLEEP(15))-- | Jul 20, 26 09:53
555
EFSArCBypSRdXSv3') OR 703=(SELECT 703 FROM PG_SLEEP(15))-- | Jul 20, 26 09:53
555
EFSArCBy2iqmHy9k')) OR 737=(SELECT 737 FROM PG_SLEEP(15))-- | Jul 20, 26 09:53
555
EFSArCBy'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||' | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy'" | Jul 20, 26 09:53
555
@@TixeV | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 20, 26 09:53
555
EFSArCBy | Jul 23, 26 12:44
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
-1 OR 2+983-983-1=0+0+0+1 --
EFSArCBy | Jul 23, 26 12:45
-1 OR 2+671-671-1=0+0+0+1
EFSArCBy | Jul 23, 26 12:45
-1' OR 2+32-32-1=0+0+0+1 --
EFSArCBy | Jul 23, 26 12:45
-1' OR 2+770-770-1=0+0+0+1 or 'HeAMnKwv'='
EFSArCBy | Jul 23, 26 12:45
-1" OR 2+343-343-1=0+0+0+1 --
EFSArCBy | Jul 23, 26 12:45
555*if(now()=sysdate(),sleep(15),0)
EFSArCBy | Jul 23, 26 12:45
5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
EFSArCBy | Jul 23, 26 12:45
5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
EFSArCBy | Jul 23, 26 12:45
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
EFSArCBy | Jul 23, 26 12:45
555-1; waitfor delay '0:0:15' --
EFSArCBy | Jul 23, 26 12:45
555-1); waitfor delay '0:0:15' --
EFSArCBy | Jul 23, 26 12:45
555-1 waitfor delay '0:0:15' --
EFSArCBy | Jul 23, 26 12:45
555DZDR0IuJ'; waitfor delay '0:0:15' --
EFSArCBy | Jul 23, 26 12:45
555-1 OR 561=(SELECT 561 FROM PG_SLEEP(15))--
EFSArCBy | Jul 23, 26 12:45
555-1) OR 991=(SELECT 991 FROM PG_SLEEP(15))--
EFSArCBy | Jul 23, 26 12:45
555-1)) OR 569=(SELECT 569 FROM PG_SLEEP(15))--
EFSArCBy | Jul 23, 26 12:45
555MBrWvW1D' OR 345=(SELECT 345 FROM PG_SLEEP(15))--
EFSArCBy | Jul 23, 26 12:45
555p3IZPrpv') OR 101=(SELECT 101 FROM PG_SLEEP(15))--
EFSArCBy | Jul 23, 26 12:45
555nW9XhgDz')) OR 574=(SELECT 574 FROM PG_SLEEP(15))--
EFSArCBy | Jul 23, 26 12:45
555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
EFSArCBy | Jul 23, 26 12:45
555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555'"
EFSArCBy | Jul 23, 26 12:45
@@uOZTk
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
-1 OR 2+451-451-1=0+0+0+1 -- | Jul 23, 26 12:45
555
-1 OR 2+709-709-1=0+0+0+1 | Jul 23, 26 12:45
555
-1' OR 2+482-482-1=0+0+0+1 -- | Jul 23, 26 12:45
555
-1' OR 2+839-839-1=0+0+0+1 or 'VNrXdRK4'=' | Jul 23, 26 12:45
555
-1" OR 2+530-530-1=0+0+0+1 -- | Jul 23, 26 12:45
555
if(now()=sysdate(),sleep(15),0) | Jul 23, 26 12:45
555
EFSArCBy0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z | Jul 23, 26 12:45
555
EFSArCBy0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z | Jul 23, 26 12:45
555
EFSArCBy-1 waitfor delay '0:0:15' -- | Jul 23, 26 12:45
555
EFSArCByKi53vT0C'; waitfor delay '0:0:15' -- | Jul 23, 26 12:45
555
EFSArCByMQ2jit8Q' OR 850=(SELECT 850 FROM PG_SLEEP(15))-- | Jul 23, 26 12:45
555
EFSArCByCXehbrMI') OR 760=(SELECT 760 FROM PG_SLEEP(15))-- | Jul 23, 26 12:45
555
EFSArCByxRMz5dEb')) OR 120=(SELECT 120 FROM PG_SLEEP(15))-- | Jul 23, 26 12:45
555
EFSArCBy'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||' | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy'" | Jul 23, 26 12:45
555
@@lW5kD | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555
EFSArCBy | Jul 23, 26 12:45
555