Ms access 经典ASP发布到MS Access DB-无法从Textarea编辑器运行
我使用TinyMCE修改的textarea,但当我将表单发送到New.asp(这是我的新帖子页面)时,它根本不会将内容上传到服务器 这就是错误Ms access 经典ASP发布到MS Access DB-无法从Textarea编辑器运行,ms-access,asp-classic,tinymce,Ms Access,Asp Classic,Tinymce,我使用TinyMCE修改的textarea,但当我将表单发送到New.asp(这是我的新帖子页面)时,它根本不会将内容上传到服务器 这就是错误 Microsoft Office Access Database Engine error '80040e14' Syntax error (missing operator) in query expression ''<p>-: CLEANED :-</p> &
Microsoft Office Access Database Engine error '80040e14'
Syntax error (missing operator) in query expression ''<p>-: CLEANED :-</p> <p> </p> <h2><a name='"_Toc421990132'"></a>1)     La Sicurezza</h2> <p> </p> <p'.
/tesina/Argomenti/New.asp, row 18
我试着处理ASP中的特殊字符,以尝试如果这是问题所在,显然不是
我试着从word中复制/粘贴一个文本,它不起作用,试着从记事本++上传,只使用纯文本一次,没有任何样式
表单的HTML
<form id="newar" action="New.asp" method="post">
<div class="institle">
<span> Titolo dell'Argomento: </span>
<input type="text" name="txtTitle" placeholder="Titolo">
</div>
<div class="institle">
<span> Sottotitolo dell'Argomento: </span>
<input type="text" name="txtSubtitle" placeholder="Sottotitolo">
</div>
<div class="institle">
<span> Scegli la Materia </span>
<%
Dim ID_Materia, NomeMateria, Rs, StrConn, Conn
StrConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.MapPath("../Database/Tesina.accdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
Conn.Open StrConn
Set Rs = Conn.Execute ("SELECT * FROM Materia")
IF NOT Rs.EOF THEN
%>
<Select Name="TxtMateria">
<%
Rs.MoveFirst
Do While Not Rs.EOF
ID_Materia = Rs.Fields("ID_Materia")
NomeMateria = Rs.Fields("NomeMateria")
%>
<Option Value="<%=ID_Materia%>"> <%=NomeMateria%> </Option>
<%
Rs.MoveNext
Loop
%>
</Select>
<%
Rs.Close
Conn.Close
Set Rs = Nothing
Set Conn = Nothing
ELSE
Rs.Close
Conn.Close
Set Rs = Nothing
Set Conn = Nothing
Response.Write("Nessun Record Disponibile")
END IF
%>
</div>
<div class="editor">
<textarea class="editor" id="editor" name="editor">
</textarea>
</div>
<div class="institleup">
<div id="filelist"> </div>
<div id="container">
<div id="dragdrop">
<span> Drag & Drop </span>
</div>
<div id="buttons">
<button id="pickfiles" href="javascript:;"> Browse Images </button>
<button id="uploadfiles" href="javascript:;"> Upload Images </button>
</div>
</div>
<pre id="console"></pre>
<script type="text/javascript">
var uploader = new plupload.Uploader({
runtimes : 'html5,flash,silverlight,html4',
browse_button : 'pickfiles',
container: document.getElementById('container'),
drop_element: "dragdrop",
url : 'Upload/upload.asp',
flash_swf_url : '../js/Moxie.swf',
silverlight_xap_url : '../js/Moxie.xap',
filters : {
max_file_size : '2mb',
mime_types: [
{title : "Image files", extensions : "jpg,gif,png"},
]
},
init: {
PostInit: function() {
document.getElementById('filelist').innerHTML = '';
document.getElementById('uploadfiles').onclick = function() {
uploader.start();
return false;
};
},
FilesAdded: function(up, files) {
plupload.each(files, function(file) {
document.getElementById('filelist').innerHTML += '<div id="' + file.id + '">' + file.name + ' (' + plupload.formatSize(file.size) + ') <b></b></div>';
});
},
UploadProgress: function(up, file) {
document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>";
},
Error: function(up, err) {
document.getElementById('console').appendChild(document.createTextNode("\nError #" + err.code + ": " + err.message));
}
}
});
uploader.init();
uploader.bind('FileUploaded', function(up, file, info) {
var obj = JSON.parse(info.response);
$('form#newar').append('<input type="hidden" name="hidimage" value="' + obj.result.FileName + '" />');
});
</script>
</div>
<div id="submit">
<input type="Submit" value="Inserisci Form">
</div>
</form>
编辑
修改后的ASP,尽管我在互联网上查过,但它不适用于HTMLEncode,或者至少在我看来是这样
IF Session("Amministratore") = "True" THEN
Dim Titolo, Sottotitolo, Testo, ID_Materia, StrConn, Conn
Titolo = Server.HTMLEncode(Request.Form("txtTitle"))
Sottotitolo = Server.HTMLEncode(Request.Form("txtSubtitle"))
Testo = Server.HTMLEncode(Request.Form("editor"))
ID_Materia = Request.Form("txtMateria")
'TestoQuote = Replace(TestoBase,chr(34), "'" & """)
'TestoLess = Replace(TestoQuote,chr(60), "<")
'TestoGreat = Replace (TestoLess, chr(62), ">")
'TestoSlash = Replace (TestoGreat, chr(47), "/")
StrConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.MapPath("../Database/Tesina.accdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open StrConn
response.write ("Conn.Execute ""(""INSERT INTO Argomento (Titolo, Sottotitolo, Testo, ID_Materia) Values ('" & [Titolo] & "', '" & [Sottotitolo] & "', '" & [Testo] & "', " & [ID_Materia] & ")"")")
'Conn.Execute ("INSERT INTO Argomento (Titolo, Sottotitolo, Testo, ID_Materia) Values ('" & [Titolo] & "', '" & [Sottotitolo] & "', '" & [Testo] & "', " & [ID_Materia] & ")")
response.end
Conn.Close
Set Conn = Nothing
'Response.Redirect ("ArgomentiAdm.asp")
ELSE
Response.Redirect ("../Homepage.asp")
END IF
和回应。在这里写下整个提交
Conn.Execute "("INSERT INTO Argomento (Titolo, Sottotitolo, Testo, ID_Materia) Values ('Crittografia Moderna', 'Cos’è la Crittografia? Definizione, Utilizzo ed Implementazione', '<p>-: CLEANED :-</p> <h1><a name="_Toc421990131"></a>Informatica: Cos’è la Crittografia? Definizione, Utilizzo ed Implementazione</h1> <p> </p> <h2><a name="_Toc421990132"></a>1)     La Sicurezza</h2> <p> </p> <p>La <strong>Sicurezza</strong> di un sistema informatico più o meno complesso indica il grado di tutela dello stesso e degli utenti utilizzatori, analizzando i Cinque Parametri Fondamentali è possibile quindi capire su quali elementi deve concentrarsi l’azione di difesa per non incorrere in problemi economici o legali:</p> <p> </p> <ul> <li><strong>Affidabilità dei Dati </strong>– Facoltà di un sistema informatico di permettere una continuativa ed ininterrotta Disponibilità dei Dati;</li> </ul> <p> </p> <ul> <li><strong>Integrità dei Dati</strong> – Fondamentale per il sistema informatico è di evitare qualsiasi forma di Corruzione dei Dati;</li> </ul> <p> </p> <ul> <li><strong>Riservatezza </strong>– Il sistema informatico deve essere in grado di stabilire delle “Viste”, ossia di mostrare i dati solo agli utenti autorizzati;</li> </ul> <p> </p> <ul> <li><strong>Autenticazione ed Autenticità</strong> – Sorgente, Destinazione e Contenuto di un messaggio sono sempre disponibili e certe;</li> </ul> <p> </p> <ul> <li><strong>Non Ripudio dell'Operazione</strong> – Impossibile per gli utenti negare di aver Ricevuto o Inviato un determinato messaggio;</li> </ul> <p> </p> <p> </p> <h2><a name="_Toc421990133"></a>2)     La Crittografia</h2> <p> </p> <p>La <strong>Crittografia </strong>è una scienza che si occupa di “<strong>Studiare le Scritture Nascoste</strong>”, la quale permette di codificare un messaggio, fornendo garanzie superiori a mittente e destinatario sulla base a quale tecnica crittografica viene applicata alla comunicazione, scegliendo quindi accuratamente quali parametri della sicurezza si vogliano garantire;</p> <p> </p> <p>La crittografia di ambito informatico tiene conto della <strong>Velocità di Calcolo</strong> dei moderni dispositivi, escludendo di fatto l’efficacia di ogni cifrario sostitutivo, estremamente presenti nella storia ma abbandonati con l’avvento degli elaboratori;</p> <p> </p> <p>L'utente si trova quindi obbligato a scegliere algoritmi fondati su <strong>Leggi Matematiche</strong> basate su analisi e rapporti tra numeri primi costituiti da una quantità di cifre estremamente elevate.</p> <p>In crittografia il "<strong>Cifrario</strong>” è lo strumento che contiene le istruzioni che permettono di trasformare il "Testo in Chiaro" in "Testo Crittografato" o viceversa, a meno che l'algoritmo contenuto nel cifrario non sia classificato come "<strong>One-Way Hash</strong>", in quest’ultimo caso è impossibile risalire da un testo cifrato ad un corrispondente univoco testo in chiaro, in quanto qualsiasi tentativo di decriptazione otterrebbe numerose possibili alternative;</p> <p> </p> <p> </p> <h3><a name="_Toc421990134"></a>2.1)                      Chiavi Sicure e Standard di Cifratura</h3> <p> </p> <p>Al giorno d'oggi una Chiave "<strong>Discretamente Sicura</strong>" si aggira sui <strong>128</strong> <strong>bit</strong> per algoritmi come il <strong>DES</strong> (Data Encryption Standard) e l'<strong>AES</strong> (Advanced Encryption Standard) che svolgono operazioni altamente complesse utilizzando algoritmi vettoriali di sostituzione applicati su blocchi di dati codificati con <strong>Chiave Simmetrica</strong>;</p> <p> </p> <p>Lo stesso livello di sicurezza si può ottenere con l’implementazione a <strong>Chiave Asimmetrica</strong> attraverso il metodo matematico <strong>RSA </strong>impiegando chiavi da 1024 o più bit, corrispondenti a numeri composti da oltre 300 Cifre.</p> <p> </p> <p>L'AES in particolare si affida alla ripetizione di un ciclo composto da <strong>4 Operazioni</strong>:</p> <p> </p> <ul> <li><strong>Sostituzione</strong> per rimuovere ogni linearità</li> </ul> <p> </p> <ul> <li><strong>Spostamento degli Elementi di una Riga</strong> verso sinistra in base alla posizione nella matrice ipotizzata da Rijndael;</li> </ul> <p> </p> <ul> <li><strong>Ricombinazione delle Colonne</strong> moltiplicate per una data matrice 4x4;</li> </ul> <p> </p> <ul> <li><strong>Operazione di XOR Logico</strong> per decidere se moltiplicare o meno il risultato per una tabella data.</li> </ul> <p> </p> <p> </p> <p>Grazie alla non-linearità dell'AES, Conosciuto anche come “Rijndael” dal nome dello sviluppatore portoghese che lo inventò nel 2001, è pressoché impossibile, ad oggi, risalire ad un <strong>Algoritmo Risolutivo Univoco</strong> senza conoscere nessun dato intermedio quale il contenuto del messaggio o la grandezza dei "Blocchi";</p> <p> </p> <p>La scelta di un attacco "<strong>Brute-Force</strong>" risulta altrettanto impossibile a causa delle tempistiche richieste, che si trovano nell'ordine di svariati anni per Chiavi da 128 bit ed oltre.</p> <p> </p> <p>Secondo l’agenzia governativa americana “National Institute of Standards and Technology” () ha stimato che per le informazioni classificate SECRET sia sufficiente una chiave a 128 bit seguendo il nuovo standard AES, aumentata fino alla grandezza di 192 o 256 bit per informazioni classificate TOP SECRET, garantendo quindi che ogni attacco a tali chiavi possa concludersi soltanto in un fallimento per i prossimi anni.</p> <p> </p> <p> </p> <h3><a name="_Toc421990135"></a>2.2)                      Oggetto Elaborato Durante la Cifratura: Blocchi o Flusso</h3> <p> </p> <p>Per quanto riguarda il funzionamento degli algoritmi di cifratura si delineano i concetti di <strong>Cifrario a Blocchi </strong>e di <strong>Cifrario a Flusso</strong> che intervengono nella trasformazione da "Testo in Chiaro" a "Testo Cifrato", risulta quindi necessario scegliere se utilizzare un algoritmo progettato per <strong>Analizzare dei </strong>"<strong>Sottoinsiemi</strong>" del messaggio trattati come singoli oggetti o se, invece, sia più conveniente allo scopo un algoritmo che effettui la cifratura <strong>Leggendo Singolarmente Ogni Simbolo</strong> che compone il messaggio;</p> <p>Nel tentativo di risalire al testo originale prendendo come punto di partenza il Testo Cifrato risulta invece fondamentale conoscere il metodo utilizzato per cifrare il messaggio al fine di accorciare le <strong>Operazioni di Decriptazione</strong>.</p> <p> </p> <p> </p> <h3><a name="_Toc421990136"></a>2.3)                      Chiave di Cifratura: Simmetrica o Asimmetrica</h3> <p> </p> <p>La cifratura di un messaggio può essere eseguita attraverso cifrari che si dividono in due categorie,<strong> Cifratura a Chiave Simmetrica</strong> (Singola) o <strong>Cifratura a Chiave Asimmetrica</strong> (Doppia);</p> <p>Entrambi i metodi evidenziano caratteristiche appropriate ad una situazione, a discapito però della loro efficacia in situazioni diverse.</p> <p> </p> <p>La cifratura a <strong>Chiave Simmetrica</strong> utilizza una <strong>Singola Chiave</strong>, la quale viene utilizzata sia per <strong>Cifrare</strong> che per <strong>Decifrare </strong>un messaggio;</p> <p>Il principale svantaggio di questa categoria di cifrari è la necessità di <strong>Recapitare la Chiave </strong>al destinatario o ai destinatari, il che rende il metodo imperfetto, esponendo il sistema a pericoli durante le operazioni di trasferimento, fisico o via rete, della chiave.</p> <p> </p> <p>La cifratura a <strong>Chiave Asimmetrica</strong> utilizza una <strong>Coppia di Chiavi</strong>, una <strong>Pubblica</strong> ed una <strong>Privata</strong>, correlate matematicamente tra loro in modo tale che solo l’altra chiave della coppia rispetto a quella utilizzata per criptare, possa poi decriptare il messaggio;</p> <p>La caratteristica fondamentale è la necessità di utilizzare le Chiavi in Coppia, garantendo diversi livelli di sicurezza in base agli algoritmi utilizzati o allo scopo che si desidera ottenere.</p> <p> </p> <p>La cifratura a Chiave Asimmetrica permette di implementare una certa sicurezza per entrambe le parti:</p> <p> </p> <ul> <li><strong>Garanzia del Mittente</strong> – La cifratura "In Uscita" avviene con la Chiave Privata del mittente garantendone la provenienza, permettendo però a chiunque intercetti il messaggio di <strong>Decifrarlo</strong> grazie alla Chiave Pubblica del mittente.</li> </ul> <p> </p> <ul> <li><strong>Garanzia del Destinatario </strong>– La cifratura "In Uscita" avviene con la Chiave Pubblica del destinatario, il quale diviene l’unico in grado di interpretare il messaggio, che però potrebbe provenire da un dispositivo <strong>Camuffato</strong>, le cui caratteristiche descrittive sono state alterate.</li> </ul> <p> </p> <ul> <li><strong>Garanzia Bilaterale</strong> – La cifratura "In Uscita" avviene prima con la Chiave Privata del mittente, poi con la Chiave Pubblica del destinatario, permettendo solo a quest'ultimo di poter accedere al livello più interno della cifratura, protetto dalla Chiave Privata del mittente.</li> </ul> <p> </p> <p> </p> <h3><a name="_Toc421990137"></a>2.4)                      Utilizzo Particolare della Cifratura a Chiave Asimmetrica: La Firma Digitale</h3> <p> </p> <p>Un particolare utilizzo della Chiave Asimmetrica si concretizza con la "<strong>Firma Digitale</strong>" che consiste nella creazione di un "<strong>Impronta</strong>" di un messaggio tramite l'<strong>Algoritmo di Hash</strong>, il cui risultato è una sequenza di BIT che rappresenta univocamente il documento, e proprio l'impronta viene criptata con Chiave Privata del mittene "In Uscita" per garantire l'identità dello stesso, nonostante non sia quindi garantita la segretezza del messaggio;</p> <p>Il motivo per cui viene criptata l’impronta e non l’intero messaggio è la difficoltà computazionale nel cifrare messaggi molto lunghi, i quali richiederebbero tempistiche estremamente elevate.</p> <p> </p> <p>Una volta giunti a destinazione il messaggio "In Chiaro" e l'impronta Criptata, viene nuovamente creata un impronta del messaggio dal destinatario, tramite il medesimo Algoritmo di Hash;</p> <p>L'ultimo passaggio nell’autenticazione tramite firma digitale consiste nel <strong>Decriptare l'Impronta Allegata</strong> al messaggio e <strong>Confrontarla</strong> con <strong>l'Impronta Ottenuta</strong> dal destinatario.</p> <p> </p> <p>Se l’impronta allegata al messaggio risulta diversa dall’impronta creata dal destinatario, allora il messaggio è stato <strong>Modificato</strong> “<strong>In Transito</strong>”, e non è più lo stesso inviato dal mittente;</p> <p> </p> <p>Da notare come l’procedimento venga seguito automaticamente da un software, senza che sia necessaria l’interazione dell’utente.</p> <p>-: CLEANED :-</p>', 1)")
我没有更改maxchars,因为这已经是要做的事情之一,如果站点不工作,即使我欣赏输入,我也不会这么做。你能使用String=Server.HTMLEncodeString而不是Replace吗
你能用数据显示你的查询吗?就在你准备处决康涅狄格之前,处决?您可以使用以下方法来完成此操作
Response.Write "your query"
Response.End
没有更多的建议
在HTML控件中,输入文本的最大大小
反而
<input type="text" name="txtTitle" placeholder="Titolo">
Titolo = Request.Form("txtTitle")
使用
感谢您发布SQL查询。你对char'char 39有意见。
使用TestoSlash=ReplaceTestoSlash,“,&39为什么在构建sql的变量周围有[]呢?我尝试了一切,看看这是否可能是问题所在,因为我在互联网上读到,它可能是由名称而不是方括号内引起的,我也尝试过不使用它们。谢谢发布查询。根据您的数据回答:“Operazione”附近的语法不正确。你所有的问题都是因为char.我已经完成了你的要求,还编辑了回复的主要帖子。我现在开始写了,它实际上是有效的,唯一的问题是,在我理论上提交表单后,数据库上只出现了第一行,这与我使用的编辑器使用了空格有关吗?有办法解决这个问题吗?没关系,我是个十足的白痴,因为我不认为访问可以在“表视图”选项卡中显示多行。它工作正常,已经将答案标记为正确,谢谢!
<input type="text" name="txtTitle" placeholder="Titolo">
<input type="text" name="txtTitle" placeholder="Titolo" maxlength="255">
Titolo = Request.Form("txtTitle")
Titolo = Left(Server.HTMLEncode(Request.Form("txtTitle")), 255)