UnikajusingDoubleQuotesForConstantString

poziom ważności: informacje

Description

Ta reguła wykrywa statyczne ciągi znaków otoczonych podwójnymi cudzysłowami ("<text>") z tekstem niezawierającym zmiennych, wyrażeń ani specjalnych znaków wymagających escapingu.

Tekst oplataj cudzysłowem ('<text>'), gdy wartość ciągu jest stała. Ciąg stały nie zawiera zmiennych ani wyrażeń mających na celu wstawianie wartości do łańcucha, takich jak "$PID-$(hostname)". Używanie pojedynczych cudzysłowów sprawia, że intencja jest stała i pozwala używać specjalnych znaków, takich jak E-Ee $ , bez konieczności ich ucieczki.

Istnieją jednak wyjątki, gdy ta zasada nie oznacza naruszeń:

  • Ciągi z podwójnym cudzysłowem są preferowane, gdy ciąg zawiera pojedyncze cudzysłowy
  • Osadzone sekwencje ucieczki takie jak newline ("`n")
  • Inne postacie specjalne, które wymagają ucieczki

Example

Niezgodne

$constantValue = "I Love PowerShell"

Zgodne

$constantValue = 'I Love PowerShell'