@@ -109,8 +109,8 @@ protected function doSend(MessageInterface $message): SentMessage
109
109
$ this ->getEndpoint (),
110
110
$ this ->login ,
111
111
$ signature ,
112
- str_replace ( ' + ' , '' , $ message ->getPhone ()),
113
- $ message ->getSubject (),
112
+ $ this -> escapePhoneNumber ( $ message ->getPhone ()),
113
+ $ this -> escapeSubject ( $ message ->getSubject () ),
114
114
$ this ->phone ,
115
115
time ()
116
116
);
@@ -141,14 +141,24 @@ private function generateSignature(array $params): string
141
141
$ params = [
142
142
'timestamp ' => $ params ['timestamp ' ],
143
143
'login ' => $ this ->login ,
144
- 'phone ' => str_replace ( ' + ' , '' , $ params ['message ' ]->getPhone ()),
144
+ 'phone ' => $ this -> escapePhoneNumber ( $ params ['message ' ]->getPhone ()),
145
145
'sender ' => $ this ->phone ,
146
- 'text ' => $ params ['message ' ]->getSubject (),
146
+ 'text ' => $ this -> escapeSubject ( $ params ['message ' ]->getSubject () ),
147
147
];
148
148
149
149
ksort ($ params );
150
150
reset ($ params );
151
151
152
152
return md5 (implode ('' , $ params ).$ this ->password );
153
153
}
154
+
155
+ private function escapeSubject ($ subject ): string
156
+ {
157
+ return strip_tags ($ subject );
158
+ }
159
+
160
+ private function escapePhoneNumber ($ phoneNumber ): string
161
+ {
162
+ return str_replace ('+ ' , '' , $ phoneNumber );
163
+ }
154
164
}
0 commit comments