Cómo hacer que el sitio web PHP sea seguro y robusto

¿Es un sitio web B2C? ¿Tendrá contenido original / contenido generado por el usuario? ¿Tendrá un inicio de sesión de usuario? ¿Tendrá blogs y comentarios? ¿Tendrá listados o productos? ¿Permitirá a sus usuarios chatear entre ellos?

En caso afirmativo, estamos analizando una amplia gama de infracciones de seguridad / fraudes en línea, incluidos el robo de la web, el robo de precios, el robo de contenido, el ataque de fuerza bruta, el spam de comentarios, los perfiles falsos, los chats de spam, los comentarios de spam y más. La única forma de proteger un sitio web de todos estos fraudes es utilizar un proveedor de seguridad externo como InfiSecure.

Entonces no necesita preocuparse por la seguridad, y puede concentrarse en su negocio principal. Sorprendentemente, el costo de usar un servicio de terceros será mucho más bajo que el costo que terminará gastando para construir su propio sistema de seguridad. Además, InfiSecure viene con una gama de herramientas y servicios que disfruta sin gastar nada extra.

[Nota: soy el cofundador de InfiSecure, una sólida plataforma de seguridad web]

Ese es un tema muy amplio. La respuesta radica en proteger su código para proteger y desinfectar su sql y proteger su servidor. Intente usar conversiones de tipo implícito siempre que sea posible (=== en lugar de ==), agregue la verificación de errores, desinfecte los nombres de los archivos de carga de contenido, use la validación del servidor para todos los datos no confiables como _POST, _GET, _COOKIE, _SERVER, etc. junto con javascript u otros idiomas del lado del cliente, use sethandler en el servidor web para registrar php en lugar de usar addhandler, use declaraciones sql preparadas u ORM en lugar de concatenar datos no confiables para crear declaraciones sql sin procesar, deshabilite algunas funciones peligrosas como exec, shellexec, system, etc. Y la lista continúa.