PHP: How to Validate an SMS from SignalWire Webhook
Submitted by admin on Sat, 08/03/2024 - 10:25am
I ran into this problem recently, but was unable to find an answer. There is very little (essentially non-existant) documentation from SignalWire on how to validate / verify that an SMS coming to your webhook was really sent by SignalWire, especially in PHP which seems to be the forgotten stepchild of SignalWire.
I finally found the answer, so I wanted to share it here for anyone else with the same problem.
For those that may not know, SignalWire's LAML webhook method is meant to be 100% compatible with Twilio, so it took some digging into Twilio's documentation to find the answer.

Have you ever been faced with a situation (in PHP) of needing to pass information in a URL (or a JSON object, XML, etc), but for whatever reason, urlencode() won't do the job? For example, if you want to base64_encode() a string, then pass it in a URL. Since base64 includes URL-unsafe characters like +/-=, you have to
Not long ago I set about trying to create a video chat (Zoom/Skype/Meetings clone) using only PHP and JavaScript. Every solution and example I found online required that I have NodeJS running a server, which I didn't want to do so as to not complicate matters on the web server. After many hours of searching and experimentation, I finally found a solution that works.
Let's say you need to sign a document and send it back to the person requesting it via email. You could always print it out, sign, then scan to a PDF. But that is time-consuming, wastes paper, and the original PDF file ends up looking degraded from the trip through the printer & re-scanning.
This is a bit of a DIY project. I'm going to show you how to keep a computer in a desk or cabinet, but we're going to install an external fan in the cabinet to keep the computer from overheating. (And we can do it for $15 - $25, depending on your setup).
I'm thrilled to announce that the official source code for my open-source advising system,
I recently came across a situation with Drupal 8 that took me literal hours to figure out. I thought I would share it here, for anyone else who might have the same problem, as the solution at first seemed to have no relation to the problem at all. This works in Drupal 8.8.x, and will probably work in 9+ as well.
SSL certificates are basically required for all modern web sites. The problem is that (1) they cost money, and (2) you have to renew them every year or so. It gets to be a real pain, especially if you manage multiple sites.
Every year or so, I enjoy going through some of the top websites in the world, and finding out exactly what OS their server is running. Usually, it's always some flavor of Linux. It's been a few years, so it makes sense to give it a fresh look.
In my previous post, I described adding an SSD to boost the speed of my mid-2011 Mac mini. Unfortunately, that wasn't the only issue. It won't let me upgrade the Mac OS past version 10.12. Apple refuses to let me upgrade to the latest version (10.15 at the time of this writing) without buying a newer computer. 