Sanitize artifact ID input to hex-only characters
- Convert input to lowercase - Strip non-hex characters (a-f, 0-9 only) - Limit to 64 characters (SHA256 length) - Show character count in validation hint
This commit is contained in:
@@ -365,7 +365,7 @@ function PackagePage() {
|
|||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
value={artifactIdInput}
|
value={artifactIdInput}
|
||||||
onChange={(e) => setArtifactIdInput(e.target.value)}
|
onChange={(e) => setArtifactIdInput(e.target.value.toLowerCase().replace(/[^a-f0-9]/g, '').slice(0, 64))}
|
||||||
placeholder="Enter SHA256 artifact ID (64 hex characters)"
|
placeholder="Enter SHA256 artifact ID (64 hex characters)"
|
||||||
className="artifact-id-input"
|
className="artifact-id-input"
|
||||||
/>
|
/>
|
||||||
@@ -383,7 +383,7 @@ function PackagePage() {
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{artifactIdInput.length > 0 && artifactIdInput.length !== 64 && (
|
{artifactIdInput.length > 0 && artifactIdInput.length !== 64 && (
|
||||||
<p className="validation-hint">Artifact ID must be exactly 64 hex characters</p>
|
<p className="validation-hint">Artifact ID must be exactly 64 hex characters ({artifactIdInput.length}/64)</p>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user