如何編寫一個模式以與PHP的preg_match函數一起使用來檢查包含腳本標記的字符串?使用preg_match查找字符串是否包含腳本標記
2
1
Don't use regular expressions for processing xml/html.你還是使用DOM classes of PHP,應該是遠遠超過任何正則表達式更可靠,你會發現:
$document = new DOMDocument();
$document->loadHtml($html);
$xpath = new DOMXPath($document);
if ($xpath->query('//script')->length > 0) {
// document contains script tags
}
+0
這個問題只是說「字符串」,這並不一定意味着有一個文檔結構... – conny 2009-09-21 12:26:47
3
出於安全原因?基本上,你不能。這裏有一些事情我瞭解到在過去這樣做:
<a href="javascript:something">...</a>
<p onmouseover="something">
- 有一些URL方案等效於在不同的瀏覽器
javascript:
,像jscript:
,mocha:
和livescript:
的。大多數都沒有記錄。 - 舊版本的Netscape處理某些字節(0x94和0x95,我認爲?)等同於
<>
。希望在現代瀏覽器中沒有這樣的東西。 - VBScript。
MySpace試圖做到這一點,其結果是「Samy是我的英雄」蠕蟲在其他許多安全災難中將服務中斷了一天左右。
所以,如果你想接受HTML的有限子集,僅包括文本和格式,你必須白名單,不黑名單。你必須將標籤,屬性列入白名單,並且如果你想允許鏈接,URL方案。這裏有一些現有的庫,但我不知道在PHP中推薦哪些庫。
相關問題
- 1. 查找字符串是否包含字
- 2. jQuery:在包含文本的字符串中查找標記
- 3. 查找字符串是否包含字符串
- 4. bat文件腳本來檢查字符串是否包含其他字符串
- 5. 如何檢查字符串是否包含appway腳本中的子字符串?
- 6. 如何查找文本是否包含url字符串
- 7. C++ 11 - Unicode字符串 - 查找是否包含非ASCII字符
- 8. 查找日期是否包含使用preg_match的有效格式
- 9. 檢查字符串是否包含字(不是子字符串!)
- 10. 檢查字符串是否包含除
- 11. 檢查是否字符串包含「HTTP://」
- 12. 檢查Enum是否包含字符串?
- 13. 檢查NSMutableArray是否包含字符串
- 14. 檢查行是否包含字符串
- 15. 檢查是否WCHAR包含字符串
- 16. MongoDB - 查找給定字符串中是否包含字段值
- 17. 試圖找到一個字符串是否包含字符串
- 18. 使用preg_match查找URL中的單詞(或字符串不包含空格)
- 19. 使用JavaScript檢查字符串是否包含日文字符(包括漢字)
- 20. 當字符串包含標點符號時檢查字符串是否相等
- 21. preg_match如果字符串包含+或 -
- 22. React-Native:檢查字符串是否包含字符串
- 23. Applescript:檢查一個字符串是否包含空字符串?
- 24. 檢查字符串是否不包含其他字符串
- 25. 檢查字符串是否包含子字符串
- 26. 查找字符串是否包含子字符串的函數方法?
- 27. 如何查找字符串是否包含任何字符串列表項?
- 28. java查找字符串是否包含2個其他字符串
- 29. 查找searBar.text是否包含整數字符串?
- 30. 查找字符串是否包含值,然後提取
通過'腳本標記'你的意思是像/i」,$ string); – 2009-09-21 12:29:56
或者只是'htmlspecialchars'。 – Gumbo 2009-09-21 12:37:06