File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -968,9 +968,6 @@ ChannelServer.prototype.startup = function() {
968968 }
969969
970970 if ( _mode == 'CHANNEL_ONLY' ) { // without session socket Server.
971- console . log ( ChannelServer . proc ) ;
972- console . log ( this . proc ) ;
973- console . log ( self . proc ) ;
974971 var _us = self . channels [ _app + '^' + _channel ] ;
975972
976973 if ( ! _us ) {
@@ -1167,6 +1164,14 @@ ChannelServer.prototype.startup = function() {
11671164
11681165 socket . join ( _room ) ;
11691166
1167+ // DT
1168+ var err = serverUtils . validJsonParams ( socket . handshake . query , [ 'DT' ] ) ;
1169+ if ( err ) {
1170+ socket . emit ( "connect_error" , err ) ;
1171+ socket . disconnect ( ) ;
1172+ return ;
1173+ }
1174+
11701175 socket . _userId = socket . handshake . query . U ;
11711176 socket . _deviceId = socket . handshake . query . D ;
11721177
Original file line number Diff line number Diff line change @@ -48,6 +48,56 @@ exports.validSocketParams = function(params, paramArray) {
4848 return false ;
4949} ;
5050
51+ exports . validJsonParams = function ( params , paramArray ) {
52+ for ( var i in paramArray ) {
53+ var param = params [ paramArray [ i ] ] ;
54+
55+ if ( param && typeof param == 'object' ) {
56+ return false ;
57+ } else if ( param && typeof param == 'string' ) {
58+
59+ var json = parseJson ( param ) ;
60+
61+ if ( ! json ) {
62+ return {
63+ status : 'error' ,
64+ message : '[' + paramArray [ i ] + '] must be JSON format'
65+ } ;
66+ }
67+
68+ return false ;
69+ } else if ( param ) {
70+ return {
71+ status : 'error' ,
72+ message : '[' + paramArray [ i ] + '] must be JSON format'
73+ } ;
74+ }
75+ }
76+
77+ return false ;
78+ } ;
79+
80+ var parseJson = function ( instance ) {
81+ var json ;
82+ try {
83+
84+ json = JSON . parse ( instance ) ;
85+
86+ if ( typeof json == 'string' ) {
87+ json = parseJson ( json ) ;
88+ }
89+
90+ } catch ( err ) {
91+ json = null ;
92+ }
93+
94+ return json ;
95+ } ;
96+
97+ exports . parseJson = function ( instance ) {
98+ return parseJson ( instance ) ;
99+ } ;
100+
51101exports . regExpEscape = function ( s ) {
52102 return s . replace ( / [ - \/ \\ ^ $ * + ? . ( ) | [ \] { } ] / g, '\\$&' ) ;
53103} ;
You can’t perform that action at this time.
0 commit comments