簡體   English   中英

codeigniter網址標題特殊字符錯誤

[英]codeigniter url title special characters error

我有一個看起來像這樣的鏈接:

www.localsite.dev/posts/332635955335419755

效果很好,我可以看到ID = 332635955335419755的帖子

但是,當我嘗試將其一些文本添加到更漂亮的URL的URL中時... Codeigniter如果顯示某些特殊字符,則會向我顯示404頁錯誤...實際上,除非您嘗試使用XSS等,否則它不會發生。 。我沒有得到XSS的提示,或者只是拋出404頁面錯誤,如果我在ID之后刪除文本,它將可以正常工作...

www.localsite.dev/posts/332635955335419755/<SCRIPT SRC=http://ha.ckers.org/xss.js></SCRIPT>

所以如果子彈有這些字符,我如何確保不出現404錯誤?

您的問題不是真正如何防止404,而是關於如何制作安全的URL標記。

請查看用戶指南中的以下頁面 ,您可以使用xss_clean()和/或sanitize_filename()從字符串中xss_clean()危險字符。 您可能希望在將數據插入數據庫中或創建段子之前執行此操作。

還有url_title()方法,但我不確定該如何處理xss字符串。 理想情況下,您將所有三種方法結合使用-進行測試。

完成之后,您可能仍然必須更改$config['permitted_uri_chars']以允許這兩種安全方法允許通過,但至少應該更安全。

更改config.php

  $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

  $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-<>/';

但是-您確實真的不想這樣做-它使您面臨大量安全問題。 您應該重新考慮解決問題的方法。 我建議您在文本中使用flash_message,甚至_POST。 使用URL處理此類文本只會導致問題和錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM