Code in einer .htaccess
Verfasst: 20.02.2024, 11:12
Moin!
Bitte eine Frage an die Coder unter euch:
Ich möchte, dass ein User-Agent alle Variationen VOR und NACH dem Wort "censys" blockiert.
Ich habe mir heute diesen Code erstellt:
Leider gibt es Differenzen zwischen mir und ChatGPT, der meint dazu folgendes:
Der von Ihnen vorgeschlagene Code verwendet den regulären Ausdruck ".*censys*.", um den User-Agent zu überprüfen.
Allerdings gibt es hier zwei potenzielle Probleme:
Der Ausdruck ".*censys*." würde "censys" und alle Variationen davor und danach abdecken. Das Problem ist jedoch,
dass der Stern * nach "censys" keine spezifische Bedeutung hat. In regulären Ausdrücken bedeutet * null oder mehr
Vorkommen des vorherigen Zeichens. Daher könnte "censys" gefolgt von null oder mehr beliebigen Zeichen
abgedeckt werden, was zu unerwarteten Übereinstimmungen führen könnte.
Der Punkt . in ".*censys*." steht für jedes beliebige einzelne Zeichen. Dies bedeutet, dass "censys" gefolgt
von einem einzelnen Zeichen abgedeckt wird. Wenn jedoch "censys" gefolgt wird von einem Punkt, der
nicht als Zeichenpunkt interpretiert wird, würde dies zu unerwarteten Übereinstimmungen führen.
Um diese Probleme zu beheben und sicherzustellen, dass der Code "censys" und alle Variationen vor
und nach der Zeichenfolge korrekt abdeckt, ist es ratsam, den regulären Ausdruck wie folgt anzupassen:
apache
Copy code
SetEnvIfNoCase User-Agent ".*c[e3]nsys.*" bad_bot
deny from env=bad_bot
Zuvor in der Diskussion mit ChatGPT hat der BOT mir auch diesen Code ausgegeben:
Was meint Ihr?
Vielen Dank im Voraus!
Gruß Frank
Bitte eine Frage an die Coder unter euch:
Ich möchte, dass ein User-Agent alle Variationen VOR und NACH dem Wort "censys" blockiert.
Ich habe mir heute diesen Code erstellt:
Code: Alles auswählen
SetEnvIfNoCase User-Agent ".*censys*." bad_bot
deny from env=bad_bot
Der von Ihnen vorgeschlagene Code verwendet den regulären Ausdruck ".*censys*.", um den User-Agent zu überprüfen.
Allerdings gibt es hier zwei potenzielle Probleme:
Der Ausdruck ".*censys*." würde "censys" und alle Variationen davor und danach abdecken. Das Problem ist jedoch,
dass der Stern * nach "censys" keine spezifische Bedeutung hat. In regulären Ausdrücken bedeutet * null oder mehr
Vorkommen des vorherigen Zeichens. Daher könnte "censys" gefolgt von null oder mehr beliebigen Zeichen
abgedeckt werden, was zu unerwarteten Übereinstimmungen führen könnte.
Der Punkt . in ".*censys*." steht für jedes beliebige einzelne Zeichen. Dies bedeutet, dass "censys" gefolgt
von einem einzelnen Zeichen abgedeckt wird. Wenn jedoch "censys" gefolgt wird von einem Punkt, der
nicht als Zeichenpunkt interpretiert wird, würde dies zu unerwarteten Übereinstimmungen führen.
Um diese Probleme zu beheben und sicherzustellen, dass der Code "censys" und alle Variationen vor
und nach der Zeichenfolge korrekt abdeckt, ist es ratsam, den regulären Ausdruck wie folgt anzupassen:
apache
Copy code
SetEnvIfNoCase User-Agent ".*c[e3]nsys.*" bad_bot
deny from env=bad_bot
Zuvor in der Diskussion mit ChatGPT hat der BOT mir auch diesen Code ausgegeben:
Code: Alles auswählen
SetEnvIfNoCase User-Agent ".*censys.*" bad_bot
deny from env=bad_bot
Vielen Dank im Voraus!
Gruß Frank