에 액세스 할 수 있습니다 :PHP는 독점적으로 내가 이것을 설명하는 방법을 잘 모르겠지만, 기본적으로 내가 PHP 클래스 파일을 SWF
class HelloHello {
public function getSomeData($input_parameter){
// code to retrieve data from the database
}
public function deleteSomeData($input_parameter){
// code to delete data from the database
}
}
이 클래스는 서버에와 연결하는 백엔드의 일부입니다 데이터베이스와 연결되어 있으며 프론트 엔드 SWF에서만 액세스 할 수 있습니다 (직접 액세스 할 수 없음). 이 클래스를 읽고 액세스하려면 Flex를 설치했습니다. 그러나 누군가가이 PHP 파일을 직접 호출하고 메소드에 액세스 할 수있는 스크립트를 개발하지 못하도록하는 방법은 무엇입니까? 예를 들어, 스크립트를 사용하여 데이터를 빠르게 자동화 된 방식으로 추가하거나 delete 메소드를 직접 사용할 수 있습니다.
이것은 합법적 인 우려입니까, 아니면 할 수 없나요?
글쎄, 그 못생긴 엉망은 우리 모두가 노력해야하는 프로그래밍의 좋은 표준입니다. 나는 쉬운 방법으로 현실 세계에서 그것을 자르고 싶지만 그렇게하지는 않는다. 그리고 "쉬운 일"이 아니라 "옳은 일"을하는 것으로부터 따뜻한 솜털 같은 느낌을받습니다. – brett
그의 상황에 대해 생각한다면 실제로 그의 스크립트를 "안전"하게 만드는 방법은 없습니다 ... 사실 [예제 코드를 살펴보면] page.php? action = delete & database = application & table = users & rowid = 1 ... 데이터베이스를 노출 시키면 " 방어 "를 할 수 있습니다. 실제로, 그의 프로그램의 논리를 바꾸거나 ... [사용자 유효성 검사, 읽기/쓰기 권한, 추악한 것들]을 보안 수준보다 높게 설정하는 것이 더 좋습니다. 사용자는 결코 실행할 수 없어야합니다. 이 같은 SQL 직접 ... – Warty
세션을 사용하여 설명하는 것을 막을 수 있습니다. 가짜 호출자 스크립트는 세션을 가지지 않으므로 실패합니다. 흠, 나는 내 자신의 질문에 답하는 것 같지만, 어떤 사람들은 사람들과 이야기하자. 나는 여기에있는 사람이 좋은 대답을 가지고 있다는 것을 알고 있습니다 ... 또한 데이터베이스 이름과 테이블 이름을 어떻게 알 수 있습니까? – brett