this is not always true. many tutorials encourage people to do a setup that does not output a PHP error to the web, as it can leak info that may help an attacker, such as the file path the error occurred in. in setups like these PHP will log the error to a file an attacker can’t access (often /var/log/php/error.log ) and exit with a failure status code, which many common web server setups will turn into an HTTP 500 error. Some server setups will just send an empty file though, which will be a blank white page shown in a browser.
Any programming language that runs on the web server and doesn’t gracefully handle its errors. There are many web servers implemented in Javascript, but it could also be Java, it could be Perl, it could even be C/C++ if someone is being masochistic.
Javascript also exists on the server, and an exception would cause a 500 error. Semicolons are optional in JavaScript, except for a handful of cases. One of those is in a for loop. I’m guessing the professor was running a nodejs app and did something like this (intentionally bad style because professor):
for (x = 0; x < 5 x++)
{}
return x
Boom, syntax error, which would return a 500 air status in a nodejs web server framework.
What programming language returns a 500 error because it fails?
A 500 error code is a critical server failure, It isn’t something that can happen because a piece of JavaScript failed.
Maybe PHP? Since it runs as a server and returns computed results in a browser… Though I’m pretty sure it’d just return the compiler error text
Php outputs HTML at the end of the process. If it didn’t run because of a missing semicolon it would just output an error. It wouldn’t crash
this is not always true. many tutorials encourage people to do a setup that does not output a PHP error to the web, as it can leak info that may help an attacker, such as the file path the error occurred in. in setups like these PHP will log the error to a file an attacker can’t access (often /var/log/php/error.log ) and exit with a failure status code, which many common web server setups will turn into an HTTP 500 error. Some server setups will just send an empty file though, which will be a blank white page shown in a browser.
Any programming language that runs on the web server and doesn’t gracefully handle its errors. There are many web servers implemented in Javascript, but it could also be Java, it could be Perl, it could even be C/C++ if someone is being masochistic.
Couldn’t be a compiled language, those wouldn’t even get to the point where you send a request.
Javascript also exists on the server, and an exception would cause a 500 error. Semicolons are optional in JavaScript, except for a handful of cases. One of those is in a for loop. I’m guessing the professor was running a nodejs app and did something like this (intentionally bad style because professor):
for (x = 0; x < 5 x++) {} return x
Boom, syntax error, which would return a 500 air status in a nodejs web server framework.
Old IIS versions with PHP would do this when running in production mode. Talking about 2010-2012
IIS. That brought back bad memories.