【PHP 학습_비망록】 폼 데이터를 배열로 받는, 크로스 사이트 스크립팅이란
5504 단어 PHP
소개
이 기사에서 할 일
· 양식 입력을위한 HTML 화면을 쉽게 만들고 양식 데이터를 수신하는 프로그램 작성
・이스케이프 처리란
・【보안】 크로스 사이트 스크립팅이란?
양식 데이터를 받는 프로그램
html
<html lang="ja">
<head>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
<title>Document</title>
</head>
<body>
<form method="post" action="php7.php">
好きな食べ物は?<input type="text" name = "food1"><br>
好きな飲物は?<input type="text" name="food2">
<input type="submit" value="送信">
</form>
</body>
</html>
httpメソッドをpost指定し、受け渡しのファイル名をactionに記載(php7.phpのファイル名は適当です)
<form method="post" action="php7.php">
php 프로그램 만들기
php7.php
<?php
header('Content-type: text/html; charset=UTF-8');
?>
<html>
<body>
<?php
$f1 = $_POST['food1']; //連想配列でデータを取得
$f2 = $_POST['food2']; //連想配列でデータを取得
$f1 = htmlspecialchars($f1,ENT_QUOTES,'UTF-8');
$f2 = htmlspecialchars($f2,ENT_QUOTES,'UTF-8');
echo 'あなたは「', $f1, '」が好きなんですね<br>';
echo 'あなたは「', $f2, '」が好きなんですね<br>';
?>
</body>
</html>
보내기 버튼 누르면 php 파일로 받을 수 있게 되었습니다!
html
php7.php
이스케이프 처리
처음에는 아래 코드의 의미를 알지 못했습니다.
htmlspecialchars
htmlspecialchars 함수는 HTML의 특수 문자를 무효화하는 처리를 실시할 수 있다.
HTML 특수 기호의 예
아니
표시
기술 방법
의미
1
<
<
작다
2
>
>
큰
3
&
&
앰퍼샌드
4
"
"
더블 따옴표
그러나 htmlspecialchars 함수를 호출하는 첫 번째 목적은
セキュリティ
크로스 사이트 스크립팅의 부정 공격을 막기 위해서입니다.크로스 사이트 스크립팅이란?
【아래 URL의 사이트에서 발췌】
크로스 사이트 스크립팅 (XSS)이란 공격 대상 웹 사이트의 취약성을 찔러 공격자가 거기에 악성 사이트로 유도하는 스크립트를 설치하여 사이트에 방문하는 사용자의 개인 정보 등을 사기하는 공격 일을 가리킵니다.
하기 URL의 사이트는 그림이 있어, 알기 쉽게 실제로 사례가 있었던 것도 소개해 줍니다.
실무에 있어서 보안 지식은 필수이므로, 아직도 학습이 필요하다고 생각했습니다.
요약
· 사용자가 서버에 데이터를 보내는 방법에는 GET과 POST 메소드가 있습니다.
・GET 메소드의 경우:$_GET , POST 메소드의 경우:$_POST로 하는 것으로 연상 배열을 참조할 수 있다.
· 크로스 사이트 스크립팅 공격을 방지하기 위해 HTML 출력을 이스케이프하는 것이 중요합니다.
· 사용자가 보낸 데이터를 그대로 표시하지 않음
Reference
이 문제에 관하여(【PHP 학습_비망록】 폼 데이터를 배열로 받는, 크로스 사이트 스크립팅이란), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/skyvader0524/items/dfec51c9b13793d88076
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【PHP 학습_비망록】 폼 데이터를 배열로 받는, 크로스 사이트 스크립팅이란), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/skyvader0524/items/dfec51c9b13793d88076텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)