스킬 moodle-external-api-development
📦

moodle-external-api-development

낮은 위험 ⚡ 스크립트 포함⚙️ 외부 명령어🌐 네트워크 접근

Erstellen von externen Moodle Web Services

Erstellen Sie sichere benutzerdefinierte Web-Service-APIs für Moodle LMS mit ordnungsgemäßer Parametervalidierung, Fähigkeitsprüfungen und Service-Registrierungsmustern.

지원: Claude Codex Code(CC)
⚠️ 68 나쁨
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"moodle-external-api-development" 사용 중입니다. Erstellen Sie eine externe API zum Abrufen des Kursfortschritts eines Benutzers

예상 결과:

  • PHP-Klasse, die external_api mit execute_parameters(), execute() und execute_returns() Methoden erweitert
  • Parameterdefinitionen mit external_value(PARAM_INT) und external_single_structure
  • Kontextvalidierung mit validate_context() und Fähigkeitsprüfungen
  • Datenbankabfrage mit parametrisierten Abfragen zur SQL-Injection-Prävention

"moodle-external-api-development" 사용 중입니다. Registrieren Sie den Web Service für mobilen Zugriff

예상 결과:

  • services.php-Datei mit Funktionsdefinition einschließlich classname, methodname und capabilities
  • Service-Definition mit restrictedusers und enabled-Flags
  • Verwendung von MOODLE_OFFICIAL_MOBILE_SERVICE für mobile App-Integration

보안 감사

낮은 위험
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-Plugin-Entwickler

Erstellen Sie benutzerdefinierte externe APIs für Ihr Moodle-Plugin, um Funktionalitäten für mobile Apps oder externe Systeme verfügbar zu machen

LMS-Integrationsspezialist

Erstellen Sie Web-Service-Endpunkte zur Integration von Moodle mit Student-Informationssystemen oder CRM-Plattformen

Backend-Entwickler für mobile Apps

Entwickeln Sie Moodle-basierte REST-APIs für benutzerdefinierte mobile Anwendungen, die auf Kursdaten zugreifen

이 프롬프트를 사용해 보세요

Grundlegende API-Struktur
Show me how to create a basic external API class in Moodle with the three-method pattern
Parameter-Definition
How do I define input parameters with validation for a Moodle external API? Include examples for integer, text, and boolean parameters
Implementierung der Geschäftslogik
Write example business logic for a Moodle external API that retrieves course progress, including context validation and capability checks
Service-Registrierung
How do I register a Moodle external web service? Show the services.php file structure with capabilities and AJAX access

모범 사례

  • Validieren Sie Parameter immer mit validate_parameters() vor der Verarbeitung
  • Verwenden Sie Kontextvalidierung und Fähigkeitsprüfungen zur Durchsetzung von Berechtigungen
  • Verwenden Sie parametrisierte Abfragen ($DB->get_records_sql) zur Verhinderung von SQL-Injection
  • Dokumentieren Sie alle Parametertypen und Rückgabestrukturen eindeutig

피하기

  • Überspringen der Parametervalidierung - immer validate_parameters() verwenden
  • Verwendung von rohem SQL ohne parametrisierte Abfragen - verwenden Sie $DB-Methoden mit gebundenen Parametern
  • Auslassen von Fähigkeitsprüfungen - immer Benutzerberechtigungen verifizieren
  • Rückgabe inkonsistenter Datenstrukturen - genau der execute_returns()-Definition entsprechen

자주 묻는 질문

Was ist das Drei-Methoden-Muster für Moodle-externe APIs?
Moodle-externe APIs erfordern drei Methoden: execute_parameters() definiert die Eingabestruktur, execute() enthält die Geschäftslogik und execute_returns() definiert die Ausgabestruktur.
Wie sichere ich meine Moodle-externe API?
Verwenden Sie Kontextvalidierung (validate_context), Fähigkeitsprüfungen (require_capability) und ordnungsgemäße Parametervalidierung (validate_parameters), um Ihre API zu sichern.
Kann ich meine externe API mit der Moodle-Mobile-App verwenden?
Ja, fügen Sie MOODLE_OFFICIAL_MOBILE_SERVICE in Ihre Service-Registrierung ein, um mobilen Zugriff zu ermöglichen.
Welche Parametertypen unterstützt Moodle?
Moodle unterstützt PARAM_INT, PARAM_TEXT, PARAM_RAW, PARAM_BOOL, PARAM_FLOAT, PARAM_ALPHANUMEXT und mehr für externe API-Parameter.
Wie verhindere ich SQL-Injection in externen APIs?
Verwenden Sie die Moodle-Datenbank-API ($DB) mit parametrisierten Abfragen unter Verwendung von benannten Platzhaltern wie :userid anstelle von String-Verkettung.
Was ist der Unterschied zwischen den Service-Typen read und write?
Der Lesetyp ist für SELECT-Operationen, die nur Daten abrufen. Der Schreibtyp ist für INSERT-, UPDATE- oder DELETE-Operationen, die Daten ändern.

개발자 세부 정보

파일 구조

📄 SKILL.md