スキル moodle-external-api-development
📦

moodle-external-api-development

低リスク ⚡ スクリプトを含む⚙️ 外部コマンド🌐 ネットワークアクセス

Moodle 외부 웹 서비스 구축

적절한 매개변수 검증, capability 검사 및 서비스 등록 패턴을 갖춘 Moodle LMS용 보안 커스텀 웹 서비스 API를 생성합니다.

対応: Claude Codex Code(CC)
⚠️ 68 貧弱
1

スキルZIPをダウンロード

2

Claudeでアップロード

設定 → 機能 → スキル → スキルをアップロードへ移動

3

オンにして利用開始

テストする

「moodle-external-api-development」を使用しています。 사용자 course 진행 상황을 가져오는 외부 API 생성

期待される結果:

  • execute_parameters(), execute() 및 execute_returns() 메서드가 있는 external_api를 확장하는 PHP 클래스
  • external_value(PARAM_INT) 및 external_single_structure를 사용한 매개변수 정의
  • validate_context() 및 capability 검사를 사용한 컨텍스트 검증
  • SQL 주입 방지를 위한 매개변수화된 쿼리를 사용한 데이터베이스 쿼리

「moodle-external-api-development」を使用しています。 모바일 접근을 위한 웹 서비스 등록

期待される結果:

  • classname, methodname 및 capability를 포함한 함수 정의가 있는 services.php 파일
  • restrictedusers 및 enabled 플래그가 있는 서비스 정의
  • 모바일 앱 통합을 위해 MOODLE_OFFICIAL_MOBILE_SERVICE 사용

セキュリティ監査

低リスク
v1 • 2/25/2026

This is a documentation/educational skill for Moodle external API development. Static analyzer flagged 127 potential issues, but evaluation confirms all are false positives. The detected patterns are: (1) Markdown backticks for code formatting flagged as shell commands, (2) Documentation URLs to moodledev.io, (3) Benign keywords in YAML frontmatter triggering false positives. No actual security risks present.

1
スキャンされたファイル
600
解析された行数
5
検出結果
1
総監査数
低リスクの問題 (2)
Markdown Backticks Flagged as Shell Commands
Static analyzer detected backticks as 'Ruby/shell backtick execution'. These are markdown code formatting (e.g., `execute_parameters()`), not actual shell commands. No command execution risk.
Documentation URLs Detected
Hardcoded URLs found are legitimate links to Moodle developer documentation (moodledev.io) and example API endpoint placeholders. No data exfiltration risk.
監査者: claude

品質スコア

38
アーキテクチャ
100
保守性
85
コンテンツ
22
コミュニティ
86
セキュリティ
96
仕様準拠

作れるもの

Moodle 플러그인 개발자

모바일 앱 또는 외부 시스템에 기능을 노출하기 위해 Moodle 플러그인용 커스텀 외부 API 구축

LMS 통합 전문가

학생 정보 시스템 또는 CRM 플랫폼과 Moodle을 통합하기 위한 웹 서비스 엔드포인트 생성

모바일 앱 백엔드 개발자

.course 데이터에 접근하는 커스텀 모바일 애플리케이션용 Moodle 기반 REST API 개발

これらのプロンプトを試す

기본 API 구조
3메서드 패턴을 사용하여 Moodle에서 기본 외부 API 클래스를 생성하는 방법을 보여주세요
매개변수 정의
Moodle 외부 API의 입력 매개변수를 검증과 함께 정의하는 방법은 무엇인가요? 정수, 텍스트, 불리언 매개변수의 예제를 포함해주세요
비즈니스 로직 구현
 course 진행 상황을 검색하는 Moodle 외부 API의 예제 비즈니스 로직을 작성해주세요. 컨텍스트 검증과 capability 검사를 포함해야 합니다
서비스 등록
Moodle 외부 웹 서비스를 등록하는 방법은 무엇인가요? capability 및 AJAX 접근 권한이 있는 services.php 파일 구조를 보여주세요

ベストプラクティス

  • 처리 전에 항상 validate_parameters()를 사용하여 매개변수 검증
  • 권한 강제를 위해 컨텍스트 검증 및 capability 검사 사용
  • SQL 주입 방지를 위해 매개변수화된 쿼리($DB->get_records_sql) 사용
  • 모든 매개변수 타입과 반환 구조를 명확하게 문서화

回避

  • 매개변수 검증 건너뛰기 - 항상 validate_parameters() 사용
  • 매개변수화된 쿼리 없이 원시 SQL 사용 - 바인딩된 매개변数和와 함께 $DB 메서드 사용
  • capability 검사 건너뛰기 - 항상 사용자 권한 확인
  • 일관성 없는 데이터 구조 반환 - execute_returns() 정의와 정확히 일치

よくある質問

Moodle 외부 API의 3메서드 패턴이란 무엇인가요?
Moodle 외부 API에는 세 가지 메서드가 필요합니다: execute_parameters()는 입력 구조를 정의하고, execute()는 비즈니스 로직을 포함하며, execute_returns()는 출력 구조를 정의합니다.
Moodle 외부 API의 보안을 어떻게 유지하나요?
API 보안을 위해 컨텍스트 검증(validate_context), capability 검사(require_capability) 및 적절한 매개변수 검증(validate_parameters)을 사용하세요.
Moodle 모바일 앱에서 외부 API를 사용할 수 있나요?
네, 서비스 등록 시 MOODLE_OFFICIAL_MOBILE_SERVICE를 포함시켜 모바일 접근을 활성화할 수 있습니다.
Moodle이 지원하는 매개변수 타입은 무엇인가요?
Moodle은 PARAM_INT, PARAM_TEXT, PARAM_RAW, PARAM_BOOL, PARAM_FLOAT, PARAM_ALPHANUMEXT 등 외부 API 매개변수를 위해 다양한 타입을 지원합니다.
외부 API에서 SQL 주입을 어떻게 방지하나요?
Moodle의 데이터베이스 API($DB)를 사용하여 :userid와 같은 명명된 플레이스홀더가 있는 매개변수화된 쿼리를 사용하고 문자열 연결은 피하세요.
읽기 및 쓰기 서비스 타입의 차이점은 무엇인가요?
읽기 타입은 데이터만 검색하는 SELECT 작업용입니다. 쓰기 타입은 데이터를 수정하는 INSERT, UPDATE 또는 DELETE 작업용입니다.

開発者の詳細

ファイル構成

📄 SKILL.md