2012-02-21 2 views
-1

mysql에 데이터를 보내기위한 모든 양식이 있습니다! 지금은 무엇이 최선이며, 안전하며, UrI를위한 최적의 방법입니다.PHP URI 액션 액션을위한 더 나은 방법

하나 :

function url(){ 
    $protocol = $_SERVER['HTTPS'] ? "https" : "http"; 
    return $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 
} 

<form action ="<?PHP echo url(); ?>" method="POST"> 

2 :

$url = http://localhost/test 

    <form action ="<?PHP echo $url. '/admin/edit.php' ?>" method="POST"> 

세 :

$fol = '/test'; 
    define('PATH', $_SERVER['DOCUMENT_ROOT'] . $fol); 

    echo ' <form action = "' . PATH . '/admin/edit.php" method="POST"> '; 

감사

+1

당신은'

's의'의회 처리로 상대 URL을 사용할 수 있습니다 나에게 좋아 보인다. – Vitamin

+0

@Vague에 따르면 – Znarkus

답변

2

옵션 1은 정상입니다. 옵션 2는 사용자 입력이 없기 때문에 가장 안전합니다. 문서 루트는 HTTP 경로가 아니라 웹 서버의 로컬 경로이기 때문에 세 가지 방법이 불가능합니다.

+0

예! 나는 너에게 동의한다. 나의 선택 : 2. –

-1

PHP: Sql Injection

,

여기에 언급 된 내용을 참조하십시오. mysql을 사용하여 데이터를 조심스럽게 처리하기위한 예방 조치에 대해 설명합니다.

+0

을 다음과 같이 간단하게 사용할 수 있습니다 : 보안 원격 파일 포함 또는 원격 URL 삽입! ;) –

+0

보안 및 최적화라고 할 때 목표는 무엇입니까? baseUrl이 선행 된 일반 URL을 사용하는 것은 실제로 매우 실용적입니다. – linuxeasy

-1

FORM 태그는 HTML로되어 있으며, 액션 속성은 요청할 서버의 PHP 파일 URL입니다.
FORM 태그에서 MYSQL으로 직접 데이터를 보낼 수 없다고 생각합니다.
사용하는 모든 방법이 브라우저에서 동일한 결과를 나타냅니다.
보안을 향상 시키려면 데이터 제출을 위해 HTTPS와 같은 다른 방법을 사용할 수 있습니다.

0
<form action ="" method="POST"> 

+0

이것은 자아 행동만을 위해 일했습니다! –

+0

물론입니다. 너의 선택권 1을 좋아하십시오. 당신이 원하는 것이 아니라면 - 왜 그것을 열거 했습니까? –

+0

내 모든 방법 내에서 보조 URL을 추가 할 수 있습니다. EX : req = add & file = true ... –