我試圖創建一個關于機器人應該在哪里編碼和解碼單詞的命令。但問題是當機器人檢測到特殊字符時,機器人會關閉。
這是我的代碼:
const messages = args.slice(1).join(" ")
Axios.get(`https://some-random-api.ml/base64?encode=${messages}`)
.then((res) => {
const embed = new MessageEmbed()
.setTitle('Decoder')
.setDescription(res.data.text)
.setColor('RANDOM')
.setTimestamp()
message.channel.send({embeds: [embed]})
})
const messages = args.slice(1).join(" ")
Axios.get(`https://some-random-api.ml/base64?decode=${messages}`)
.then((res) => {
const embed = new MessageEmbed()
.setTitle('Decoder')
.setDescription(res.data.text)
.setColor('RANDOM')
.setTimestamp()
message.channel.send({embeds: [embed]})
})
uj5u.com熱心網友回復:
您可以使用encodeURIanddecodeURI使您的命令正常作業也可以在這里查看
const messages = args.slice(1).join(" ")
const encodedURI = encodeURI(messages)
Axios.get(`https://some-random-api.ml/base64?encode=${encodedURI}`)
.then((res) => {
const embed = new MessageEmbed()
.setTitle('Decoder')
.setDescription(res.data.text)
.setColor('RANDOM')
.setTimestamp()
message.channel.send({embeds: [embed]})
})
const messages = args.slice(1).join(" ")
const decodedURI = decodeURI(messages)
Axios.get(`https://some-random-api.ml/base64?decode=${decodedURI}`)
.then((res) => {
const embed = new MessageEmbed()
.setTitle('Decoder')
.setDescription(res.data.text)
.setColor('RANDOM')
.setTimestamp()
message.channel.send({embeds: [embed]})
})
uj5u.com熱心網友回復:
正如新Acesyyy 所提到的,對字串進行URL 編碼有助于解決“特殊字符”問題,但這可能不是問題的全部。
我建議在允許他們進入后端應用程式和資料庫邏輯之前考慮驗證(或至少清理)客戶端輸入。因為我感覺到您的應用程式忽略了安全性。
我還建議你有空的時候看看OWASP Cheetsheet 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/487458.html
