LINE WORKS Developers

コミュニティ

LINE WORKSのテクニカルエキスパート及び開発者と
コードのサンプル、リソース、Tip等を共有し問題解決への相談が可能です。

??dev_메인_타이틀_모바일_ja_JP??

トークBot

”&”や”<”が投入できない

画像

山口護夫

2018.02.22既読 370

投稿内容は全体に公開されます。 

アカウント名やドメイン名、 ConsumerKey などの非公開情報は記入しないでください。

LINE WORKSからトークBotに送信する文字のうち、”&”や”<”が含まれるメッセージ

を送信すると、Botに到達する前に処理されてしまい、返答が返ってこない事象が

発生します。

 

LINEの”改ざん有無確認プロセスで暗号化処理が動く際に、特定の文字(&、<)の時だけ、

違った暗号処理結果が出力されてしまっているのではないかと見受けられます。

解消できますでしょうか。また、他にも同様な文字列があれば、合わせて解消したいです。

コメント15

  • 画像

    LINE WORKS 公式アカウント

    弊社テスト環境で確認したところ、正しくjson encodingされて送信されているようです。
    今一度、受信したメッセージをご確認いただけないでしょうか。

    例) 送信メッセージ「^><^&&!"&"<」 の場合
    {  
      "type":"message",
      "source":{  
         "accountId":"xxx"
      },
      "createdTime":xxxxxx,
      "content":{  
         "type":"text",
         "text":"^ \u003e\u003c ^ \u0026\u0026 ! ” \u0026 ” \u003c"
      }
    }

    2018.02.23

    0
  • 情報が不足しており申し訳ございません。
    X-WORKS-Signatureのヘッダー情報が、Botで受信した際に一致しないため、
    改ざんされているかのように判定してしまっている状態です。

    これらの文字以外は、基本的には正常に稼働しています。

    2018.02.23

    0
  • 画像

    LINE WORKS 公式アカウント

    弊社テスト環境で同様のメッセージを送信して試した限りでは、正常に動作しているように見受けられます。
    お手数ですが、大まかなメッセージ送信時間と送信した bot no. をお教えいただけますでしょうか。

    2018.02.28

    0
  • こちらになります。

    2018/2/28 10:43
    Bot No.2089
    -------
    先ほど別々に、「&」「<」「aaaaaa」と3回送信し、
    「aaaaaa」だけ返信が返ってきました。

    2018.02.28

    0
  • 画像

    LINE WORKS 公式アカウント

    情報ありがとうございます。御社サーバ(メッセージ受信callback)へのリクエスト送信内容を確認したログ情報、下記の通りです。(一部 ”*” でマスクさせていただいております。)
    署名検証エラーとなっている場合、検証ロジックに誤りがあるかと思われますので、今一度ご確認お願いできますでしょうか。

    ■「&」を送付いただいた際のログ情報
    [2018-02-28 10:43:**.******] X-WORKS-Signature:MMEbr5JPryeJ14aIagfED/Kv0FVowB2NxEC0/sw+SEI= Request:"{\"type\":\"message\",\"source\":{\"accountId\":\"y********.****o@*********-***\"},\"createdTime\":*5****2*****4,\"content\":{\"type\":\"text\",\"text\":\"\\u0026\"}}"

    2018.03.01

    0
  • 画像

    LINE WORKS 公式アカウント

    ■「<」を送付いただいた際のログ情報
    [2018-02-28 10:43:**.******] X-WORKS-Signature:C+syIRlQARJdjLtettpt2EstFweaLJzCmZLhouOpqu8= X-WORKS-BotNo:2089 Request:"{\"type\":\"message\",\"source\":{\"accountId\":\"y********.****o@*********-***\"},\"createdTime\":*5****2*****2,\"content\":{\"type\":\"text\",\"text\":\"\\u003c\"}}"

    ■「​aaaaaa」を送付いただいた際のログ情報
    [2018-02-28 10:43:**.******] X-WORKS-Signature:TbrjdYdA1BvLiu+rs6t302fHGblK9QieiTJBX1Ppf9k= X-WORKS-BotNo:2089 Request:"{\"type\":\"message\",\"source\":{\"accountId\":\"y********.****o@*********-***\"},\"createdTime\":*5****2*****8,\"content\":{\"type\":\"text\",\"text\":\"aaaaaa\"}}"

    2018.03.01

    0
  • ありがとうございます。

    &など一部の文字が、Unicodeエスケープシーケンスされていることが誤動作を起こしている原因でした。
    どの文字がUnicodeエスケープシーケンスされているのかがこちらでは判別できないので、
    まず、Unicodeエスケープシーケンスをしないようにしていただくことは可能でしょうか。

    それが難しいようであれば、Unicodeエスケープシーケンスを実施している文字のリストを
    ドキュメント上に記載していただけないでしょうか?

    また、Unicodeエスケープシーケンスを行っている対象文字が変更されるような仕様変更が今後仮にあった場合
    こちらでは対応しきれないので、jsonエンコーダーおよびデコーダーのAPIをご提供いただけないでしょうか。

    2018.03.01

    0
  • 画像

    LINE WORKS 公式アカウント

    原因はUnicodeエスケープだったとのこと、特定できて何よりです。
    JSONの仕様としてUnicodeエスケープが可能となっております。RFC 7159を参照ください:https://tools.ietf.org/html/rfc7159.html#section-7。
    そのため、弊社からエンコーダー/デコーダーの提供予定はございません。ご了承ください。
    JSON仕様に対応されているソースコードあるいはライブラリのご利用をお願いできますでしょうか。

    2018.03.01

    0
  • ご回答ありがとうございます。
    このドキュメント内でどのあたりに、エスケープ対象の文字が分かる記載がありますでしょうか。
    どの文字がその対象かを知りたいため、ご教示いただけますか。

    2018.03.14

    0
  • 画像

    LINE WORKS 公式アカウント

    RFC 7159中では「7. Strings」に記述がございますのでご参照くださいませ。
    https://tools.ietf.org/html/rfc7159.html#section-7

    2018.03.14

    0
  • ご連絡ありがとうございます。

    提示いただいた箇所を読んでみたのですが、
    エスケープしなければならない文字は(U+0000からU+001F)で、
    それ以外は任意と書かれています。

    今回、問題になっている文字は以下の通りで、

    - & => U+0026
    - < => U+003C

    これらの文字のエスケープは任意と読み取れますが、
    この認識は間違っておりますでしょうか。

    2018.04.16

    0
  • RFCでは任意になっているのでBOT側としてはどれをエスケープするべきかがわからないいため、
    任意のうちのどれがLINE WORKS内ではエスケープ必須になってるかをすべて教えてください。

    2018.04.24

    0
  • こちらの件ですが、いつ頃までにご回答がいただけるかを教えていただけますか。
    よろしくお願いいたします。

    2018.05.25

    0
  • こちら、ご回答いただけないでしょうか……。

    こちらの質問は「『&』など、RFCではエスケープ任意扱いになっている文字列が、LINE WORKS内でエスケープ必須になっているようなので、LINE WORKSにおいてどの文字がエスケープ必須文字なのかを教えてください」です。

    2018.06.21

    0
  • 画像

    LINE WORKS 公式アカウント

    ご連絡が遅くなり失礼いたしました。こちらにつきまして全対象文字をお伝えするのは難しいため、
    任意の各文字につきましてもエスケープ処理を行うようお願いできますでしょうか。

    2018.06.22

    0