Vue(Vite)設定Content-Security-Policy支援

vue3支援csp方法只需要設定vite.config.js :

import { fileURLToPath, URL } from 'node:url'

import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'


// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
  // eslint-disable-next-line no-undef
  const env = loadEnv(mode, process.cwd());
  // this might be needed in Dev mode
  const nonce = mode === "development" ? "nonce" : "{SERVER-GENERATED-NONCE}";

  return {
    plugins: [
      vue(),

    ],
    html: {
      cspNonce: `${nonce.toString()}`
    },
    // eslint-disable-next-line no-undef
    base: env.VITE_WORKDIR
    ,
    resolve: {
      alias: {
        '@': fileURLToPath(new URL('./src', import.meta.url))
      }
    },
    server: {
      headers: {
        'Content-Security-Policy': `default-src 'self'; script-src 'self' 'nonce-${nonce.toString()}'; style-src   'nonce-${nonce.toString()}'; font-src 'self' data:; img-src 'self'; frame-src 'self';form-action none  `,
      },
     
       
      }
    }
  }
})

[JAVA]連絡我們表單程式前台

這是個很常在官方網頁看到的程式,在這種表單之前要與官方網站人員連絡,只能使用email,只是這email address會被人故意的收集,發送垃圾郵件,十分讓人困擾。

在表單的設計上,需要讓網站人員能知道是誰留了資料,所以連絡的方式一定要讓使用者留下,所以設計畫面如下:類型、標題、姓名、EMail、電話及內容。

連絡我們表單內容

Read More

自動產生隱藏iframe AutoCreateIframe

之前有寫過一個自動產生隱藏iframe的方法,不過好像沒有讓它支援所有瀏覽器,在IE系列好像因為安全性問題,並不會建立成功,所以把原本使用createElement來建立iframe,而改成在ie裡使用

var frame = document.createElement("<iframe name=\"_hiddenframe\">");

因為在IE裡create IFrame時,並不能指定他的name屬性,不過很有趣的一件事,在IE9時,這規則又被打破了,如果強行使用上面方法會出現以下錯誤:

DOM Exception:INVALID_CHARACTER_ERR(5)

Read More

[c#]asp.net+jQuery+json做Ajax

Ajax常用在網頁單獨某一區塊的內容更新,不需要整頁網頁重新整理就可以得到區塊內容的更新,而常用與Web-Server做資料交換的格式有純文字、Parameter(key=value)、XML或是json等,而json為最常使用的格式之一,它不像XML格式,需要開始Tag與結束Tag,只需要利用Key,Value的方式來進行資料的設定,比XML更為簡單、內容大小更為精簡,詳細內容及方法可以參考http://www.json.org/

asp.net(使用c sharp)使用jQuery實作Ajax與伺服器溝通。

建立Web服務器asmx

利用Web服務器的函數(方法)來處理Ajax的需求及回應

要使用Ajax呼叫Web服務,需要把System.WebScript.Services.SrciptService這行的mark拿掉才可以。

Web服務

再來建立相對應的函數(方法),Ajax呼叫的網頁會是getData.asmx/函數(方法)

如需要共用Session內容,則需在WebMethod加上enableSession:true才可

WebMethod Session:true

Read More

jsp簡單留言板

這個範例有新增留言、查詢留言及留言分頁顯示等功能,後台的管理還沒有建置完成,留言者需要填入標題、顯示名稱、電話、信箱及留言內容,其中電話與電子信箱不顯示在留言列表中,電話及信箱可以為之後後台回覆寄信連絡使用。

當然這還有需多可以增加的功能,像是留言通知、隱私留言、留言刪除等,之後會再慢慢增加。

資料庫使用MySQL資料庫,使用JDBC來連接資料庫(DataSource方式),記錄檔則是使用log4j。

在新增留言部份,submit之前會先檢查是否有未填欄位,如果檢查通過則會自動建立IFrame來給這個form的target使用,新增完成後會自動回到留言列表的頁面。

留言版留言

查詢留言會對資料的標題及留言內容進行比對,有相同資料就會顯示查詢的結果,如果想進階做一個Search-Engine則可以參考建立自己的搜尋引擎

留言板查詢

Read More