2013-07-15 2 views
0

나는 클라이언트와 서버 소켓 프로그래밍을위한 코드가있다. Server.php 파일에서 나는 클라이언트에서 데이터를 읽고 mysql에 동일한 데이터를 업로드하고있다.소켓 프로그래밍에서 PHP

$input = socket_read($spawn, 1024) or die("Could not read input\n"); 
$sql= "INSERT into data VALUES ('$input')"; 

이 코드는 브라우저에서 해당 URL을 호출 할 때마다 실행됩니다. 나는 서버 프로그램을 연중 무휴로 운영해야한다. 이 특별한 경우 어떻게해야합니까? 일부는 소켓과 함께 호스팅을 제공합니다. 이 경우 브라우저에서 server.php를 실행할 필요가 없습니까? 아니면 다른 방법이 있습니까?

후 많은 옵션이 있습니다)

+1

소켓이 사용자 입력을받지 못하는 경우에도 SQL 주입이나 SQL 구문을 위반하는 잘못된 입력에 여전히 취약합니다. '$ input'을 올바르게 이스케이프하도록하십시오. –

답변

0

당신은 단순히 while true 루프를 사용하지만, 소켓 (socket_set_block()) 또는 너무 많은 서버를 침투하지에 루프 내부에 적어도 sleep()에 대한 차단 모드를 사용하여 확인하실 수 있습니다 스크린 세션과 같은 서버에서 스크립트를 백그라운드 프로세스로 실행하거나 start-stop-deamon 등의 도구를 사용하려면 ...

물론 모든 것이 정상적으로 작동하는지 정기적으로 확인해야합니다. cron을 사용하고 필요할 경우 프로세스를 다시 시작하십시오.

관련 문제