그래서 나는 그것이 /home/content/s/a/m/p/l/e/users/profile/index.php를 생성하는 사용자 입력을 제공하는 웹 사이트를 가지고있다. 내 진짜 질문은이게 안전한가요? 이것은 내가 사용자 입력을 살균하려고 시도하는 것입니다. 더 많은 것이 있으면 알려주세요. 나는이 웹 사이트 개발에 비교적 새로운 오전 이후로는 계속해서 또 다시 동일한 정보를 얻을 수있는 데이터베이스를 사용하여 변형을 필요하기 때문에 이것은 좋은 방법 인 경우보안 및 PHP
strip_tags(html_entity_decode($mysqli->real_escape_string($title)), ALLOWED_TAGS);
ALLOWED_TAGS = "<br><p><b><i><hr>";
, 내가 대신 단지가, 궁금 정보가있는 정적 페이지 또는 이것이 거대한 보안 구멍입니까? 나도 몰라! :) 나는 그들이 내가 여기에 설치 한 것과 일종의 XSS 공격을 할 수 있는지 모른다. 도와주세요!
마이클
P.S. 당신이 어떤 대답이나 제안이 있다면, 그것이 왜 있는지에 대한 통찰력을 주시겠습니까? 저는 컴퓨터 과학 분야의 학위를 가지고 있으므로, 빠르고 단순한 해결책이 아니라 어떻게 작동하는지 궁금합니다. 감사.
쓰레기는 ALLOWED_TAGS = BR은, P, B, I, 시간이다. 나는 실제 태그를 넣을 수 없다는 것을 깨달았다 : – Michael
더 나은 방법은 나중에 검색/편집을 위해 데이터베이스에 저장하고, 프로필 정보가 업데이트 될 때마다 정적 페이지를 재생성하는 것이다. 그렇게하면 정적 페이지를 검색하고 긴장을 완화하며 html 페이지에서 구문 분석하지 않고 나중에 수정할 수있는 핵심 데이터를 유지할 수 있습니다. –
각 사용자의 파일 시스템에 물건을 만들지 마라. 다른 나라와 마찬가지로 데이터베이스에 저장하면된다. 너무 자주 페이지를 다시 생성 할까 걱정되는 경우 웹 서버 앞에 캐시를 남깁니다. –