簡體   English   中英

如何保護HTML導航

[英]How to protect HTML navigation

我正在為一個電子學習平台編寫軟件。 驗證通過PHP和MySQL執行。 所有內容都將上載到HTACCESS禁止所有直接訪問的文件夾中,並且僅通過PHP例程將內容提供給用戶,該例程會驗證學生憑據,然后打開文件並將其發送到瀏覽器。

對於所有常規類型的內容(Flash,GIF,PDF等)都可以,但是不能用於以常規HTML頁面和圖形形式上傳的內容。

有誰知道最好的方法是盡可能多地保護此類內容? 我曾考慮將其放置在隨機命名的目錄中,並鏈接到iframe中的內容以盡可能隱藏地址,但是是否有更好的方法呢?

謝謝!

我對此可能有點晚了,但是如果有人找這個……也許您可以給這些文件增加一個擴展名,然后告訴apache(或任何人)php實際上會處理這些文件。 例如,您有一個“ example.html”文件,將其重命名為“ example.html.answers”。 然后,當您需要提供“ name.html”文件時,您實際上會傳遞“ name.html”。'answers'參數。

解決此問題的一種方法是讓中間腳本從受保護的位置提供二進制內容(基於用戶權限)。

因此,典型的文件下載URL代替/resources/foo.pdf將是/download.php?foo.pdf

您可以按照cherouvim的建議提供非HTML(或非文本)服務,並將HTML(實際上是所有文本)存儲在數據庫表中。 然后,您的download.php腳本必須足夠聰明,才能在數據庫中查詢.html等文件。

然后的問題是,任何圖像或其他資產都將具有錯誤的URL(例如, <img src="image.jpg"/>而不是<img src="download.php?image.jpg/> 。),您必須在數據庫中保存的HTML中重新寫入這些資產的鏈接-您可能可以結合使用XML解釋器(提取鏈接到文件的所有img標簽和其他標簽)和正則表達式來確定需要重寫(例如,重寫src="image.jpg"而不是src="http://google.com/image.jpg"

這不是有史以來最優雅的解決方案,但我認為它會起作用。

暫無
暫無

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

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