我之前从未使用过API 我正在尝试短信启用我的网站。我的SMS提供程序提供HTTP API以从我的网站发送消息。它运作良好。但是,它并不安全。 API需要编号,消息,用户名和密码,并且可以使用post或get发送。没有HTTPS支持。
我目前正在将用户输入的号码和消息传递给一个页面,该页面使用curl重新发布值以及用户名和密码。 HTTP标头仍包含帖子字段,这意味着任何人都可以看到我的用户名和密码。有没有解决的办法?我知道切换提供程序是一种选择,因为它们没有SMTP,XML或HTTPS API。
编辑:我可以将号码和文字邮寄到我的邮件服务器,这可以根据邮件内容触发PHP脚本,然后使用用户名和密码将其发布到SMS网关吗?可能?至少通过这种方式,最终用户将无法看到用户名和密码。
答案 0 :(得分:4)
不幸的是,你无能为力。
支持HTTPS的一种流行的SMS网关API是Clickatell。
covers 819 networks in over 220 countries。除HTTP and HTTPS外,他们还支持SMPP,SMTP,FTP,XML,SOAP和COM。
HTTP / S方法的工作方式与您描述的服务非常相似。如果我没记错的话,您可以通过GET
请求传递所有详细信息。你可以像现在一样继续使用curl。
对于消息成本,Clickatell使用基于信用的系统。 1个信用额通常意味着1个消息,但有些目的地可能收费少一点(通常是信用额度的0.8),有些可能收取更多费用(通常是1.5或2)。显然,这取决于特定地区的网络运营商。 (Source)
目前1个信用额定价为0.03美元/0.022欧元/ 0.02英镑。最低要求为400学分,因此初始投资仅为12美元。(Source)
答案 1 :(得分:1)
如果他们无法提供SSL,那么您和远程服务器之间的所有人都可以看到它。这就是事情的运作方式。
答案 2 :(得分:1)
除非您有权访问服务器端代码,否则您无法对此做任何事情。
如果执行有权访问服务器端代码,则可以使用双向加密算法,例如this one。
答案 3 :(得分:0)
客户端不应包含您的密码。只应在那里输入用户相关的详细信息(短信,电话号码)并在您的服务器上发送一页。服务器上的页面是保存短信提供程序密码的位置。然后该页面调用sms提供程序。在这种情况下,https不太重要(最终用户看不到数据,只有在服务器和短信服务提供商服务器之间可以访问网络的人才能看到数据。)