Тебе надо учить не язык а какой то конкретный фреймворк. Посмотрим фреймворки для PHP, Python, Ruby и выбери любой на котором тебе УДОБНО делать морды. А язык в данном случае очень второстепенен.
Помимо ЯП, Ajax, и так далее, почитай про XSS, file injection, SQL injection, code injection, DOS, DDOS, прочитай про HTTP Basic Authentication, про сессии (в контексте веб-приложений), и про авторизацию в веб приложениях вообще, тут одной статьёй не ограничишься. Почитай про RBAC. И про fail2ban. И сделай настройку, с какого интерфейса пускать, с каких IP, по какому протоколу. Делай предупреждение в случае слабого пароля. Про nginx еще, хотя бы знай, что он могёт.
Никогда не доверяй пользователю, всегда фильтруй информацию, которую он вводит (но не до фанатизма, конечно - только по безопасности)
PHP тоже не обязательно. Проще выучить один новый язык - JavaScript (nodejs для сервера), чем два - JavaScipt и PHP.
Не слушай его, серверный и браузерный JS - две совершенно разные вещи.
Чтобы делать HTML-морды, тебе (внезапно) нужно знать HTML и то, что к нему прилагается: JavaScript, CSS. В JS очень рекомендую познакомиться с jQuery - сильно сбережет нервы. А формировать WEB-морду ты можешь чем угодно, хоть bash'ем, хоть С/C++, хоть бейсиком. Но, если нужны плюшки WEB-сервера (ну, обмен данными get/post, передача файлов и т. п.), то желателен WEB-сервер. Тогда логичней изучить PHP, тем-более он C-like.
P. S. Кстати, PHP можно использовать и без WEB-сервера.
Ничего. «С» в общем контексте может часто подразумевать «семейство языков С», особенно в тех случаях когда намекают на общую идею. И да, я ничего не вижу ужасного в string.h....