2012-01-04 3 views
0

J'ai un problème avec mon application qui se produit seulement une fois qu'il est déployé sur le serveur de publication. Mon application renvoie des erreurs System.Web.HttpException invalid request sur webresource.axd L'URL WebResource demandée par les clients est pour exemple: (ignorer le ** et * ils sont utilisés pour séparer une partie de l'url)ASP .NET Contenu de la réponse étant coupé - bug bizarre

WebResource.axd d = PLZ1f5srE_3_5bqe5SNJORbrjr9bvaTarv3MMKJi1fn ** GsDQLshr2sDQLshrmsDQLshrWsDQLshrGsDQLshq2sDQLshumvDQL72ZKbBQK5zYfpBAK5zZuMAwLEytPECwLbo5IqArrNo5oDAsbKp5sDAsbK66oFArnN28ILArnNj9UCAsfK8/UJAqTNm4oJAv2jypsOAvCjpoIOAsbK/6EDArnN254FAsbKh70KAqTNg7wKAqTNw84NAsTKm9ACAsbK8/UJAtyj + uUHAsfKz + cEArnNg + gEAqTN1 + UEArnNv78KAsfK560FArrNg7wKArnNr5kDAqTNr5kDAsbKo5oDAsfKm9ACAv2jpoIOAsfK6/cJArnN0 + QEArnN560FArnN08QLAv2jzpgOAsbK5/YJAqTN28ILAsbKo + AEAqTNk9ICArnN350DAsbKm9ACAsbK44kJAqfNn4sJArnNs4YDArnN76sFArjNl9MCAsbK6/cJArnN7/QJAqTN0/0JAsbKi7oKAqfNm4oJAv2j + uUHAsfKi 7oKArnN44kJArnNu74KAsbKi9QCArnN5/YJAqTNz + cEArnNm4oJAsbKt4cDAsTK5/YJArnNh70KArnNp8ELArnNt4cDArnNn9ECAtrKm9ACAsbKj9UCArnNn4sJAsbK7/QJArnNi9QCArnNy8wNAsTK + 8ANAsbKs4YDAqTNi9QCAsfKk9ICArnNl9MCAvqjpoIOArnNo + AEArnNs7AKArnN0/0JAsfKo5oDAsbK/8ENAsfK08QLAsbKk9ICAsbK0 + QEAr3Nl9MCAsbK3 + MEAsfK + 8ANAsbK + 8ANArnNg7wKAt3Km9ACArnN/8YCArnN3 + MEArnNq5gDAvujpoIOArnNi7oKAsfK5/YJArnNk9ICArnN/8ENAqfNo5oDArnNz + cEArrN560FArnNr7UMAt3K5/YJAsfK3 + MEAqTN/6EDArrN/6EDAtyjkioCp83nrQUCxMqLugoCuc3Dzg0CpM3TxAsCp82DvAoCxsqf0QICvc3nrQUC26PmzggCpM3L5gQCpM2fiwkCp83/oQMCpM2jmgMCuc23sQoCuc2H1wICxMrr9wkCuc3rowoCuc3r9wkCus2X0wICp82X0wICuc3z9QkCuc2jmgMCuc37lgUCx8qHvQoCp83P5wQCuc3voAoCuc2b0AICxsrTxAsCxMqjmgMCpM2X0wIC3crr9wkCus23sQoCxsrP5wQCxsrnrQUC26P65QcCuc37wA0Cuc3/oQMCpM37wA0Cp823sQoCuc2XjwMCuc3rqgUCpM3nrQUCuc3X + gkCuc3PzQ0C/aOGig4Cuc2HyQsCxsq7vgoCuc3X5QQC + qPKmw4Cuc2nmwMCuc3L5gQCuc2zsgwCxsq3sQoC/aPmzggCpM23sQoCuc3DxwIC3KPmzggCh + rGqAgChKbr/g4 * keCbLSNH7D5G4o/WMirW0wCCoaA ==

Alors deux choses m'a frappé tout de suite:

  1. Le manque & t = à la fin pour l'horodatage d'assemblage
  2. Il y a «/» et « + » qui ne semble pas être généralement trouvé dans l'URL cryptée

J'ai couru l'application de mon côté bien sûr tout fonctionne bien pour moi ...mais j'ai remarqué dans mon fichier source que certaines parties de ce que je vois dans l'erreur de clients se trouvent dans mon html:

<script src="/WebResource.axd?d=**PLZ1f5srE_3_5bqe5SNJORbrjr9bvaTarv3MMKJi1fn**NUlSwWXFIxNUWR37nSX-uEeFiuIaj75QpNoWiMNuwvLvtF14FC7RJnWXlWsiRGRTxygC60zWpEKm8nsH2W5C_3w9fBgmsUvMtxxfwjQB23ipcHaCWFd_wvS5QWc5bgmPzUpNNF-gwwdthk8-NKZOJKbUxQg2&amp;amp;t=634601510084481499" type="text/javascript"></script> 

<!-- SOME MORE CODE --> 

<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEW5wECuIuguQEC3LnYqw4C+MDh9AEClczxhwICjKHu/A4CovL+qwgC5oaBuAgCip7jrAkC2OrW4wICkIaEvAsC5e+IZQLOjIDvBwLqgKKLDALrgKKLDALogKKLDALpgKKLDALugKKLDALvgKKLDALsgKKLDAL9gKKLDALygKKLDALqgOKIDALqgO6IDALqgOqIDALqgNaIDALqgNKIDALqgN6IDALqgNqIDALqgMaIDALqgIKLDALqgI6LDALj6ePBAQLj6ePBAQLzhoWsDQLzhoGsDQLzhr2sDQLzhrmsDQLzhrWsDQLzhrGsDQLzhq2sDQLzhumvDQLzhuWvDQLshomsDQLshoWsDQLshoGsDQLshr2sDQLshrmsDQLshrWsDQLshrGsDQLshq2sDQLshumvDQL72ZKbBQK5zYfpBAK5zZuMAwLEytPECwLbo5IqArrNo5oDAsbKp5sDAsbK66oFArnN28ILArnNj9UCAsfK8/UJAqTNm4oJAv2jypsOAvCjpoIOAsbK/6EDArnN254FAsbKh70KAqTNg7wKAqTNw84NAsTKm9ACAsbK8/UJAtyj+uUHAsfKz+cEArnNg+gEAqTN1+UEArnNv78KAsfK560FArrNg7wKArnNr5kDAqTNr5kDAsbKo5oDAsfKm9ACAv2jpoIOAsfK6/cJArnN0+QEArnN560FArnN08QLAv2jzpgOAsbK5/YJAqTN28ILAsbKo+AEAqTNk9ICArnN350DAsbKm9ACAsbK44kJAqfNn4sJArnNs4YDArnN76sFArjNl9MCAsbK6/cJArnN7/QJAqTN0/0JAsbKi7oKAqfNm4oJAv2j+uUHAsfKi7oKArnN44kJArnNu74KAsbKi9QCArnN5/YJAqTNz+cEArnNm4oJAsbKt4cDAsTK5/YJArnNh70KArnNp8ELArnNt4cDArnNn9ECAtrKm9ACAsbKj9UCArnNn4sJAsbK7/QJArnNi9QCArnNy8wNAsTK+8ANAsbKs4YDAqTNi9QCAsfKk9ICArnNl9MCAvqjpoIOArnNo+AEArnNs7AKArnN0/0JAsfKo5oDAsbK/8ENAsfK08QLAsbKk9ICAsbK0+QEAr3Nl9MCAsbK3+MEAsfK+8ANAsbK+8ANArnNg7wKAt3Km9ACArnN/8YCArnN3+MEArnNq5gDAvujpoIOArnNi7oKAsfK5/YJArnNk9ICArnN/8ENAqfNo5oDArnNz+cEArrN560FArnNr7UMAt3K5/YJAsfK3+MEAqTN/6EDArrN/6EDAtyjkioCp83nrQUCxMqLugoCuc3Dzg0CpM3TxAsCp82DvAoCxsqf0QICvc3nrQUC26PmzggCpM3L5gQCpM2fiwkCp83/oQMCpM2jmgMCuc23sQoCuc2H1wICxMrr9wkCuc3rowoCuc3r9wkCus2X0wICp82X0wICuc3z9QkCuc2jmgMCuc37lgUCx8qHvQoCp83P5wQCuc3voAoCuc2b0AICxsrTxAsCxMqjmgMCpM2X0wIC3crr9wkCus23sQoCxsrP5wQCxsrnrQUC26P65QcCuc37wA0Cuc3/oQMCpM37wA0Cp823sQoCuc2XjwMCuc3rqgUCpM3nrQUCuc3X+gkCuc3PzQ0C/aOGig4Cuc2HyQsCxsq7vgoCuc3X5QQC+qPKmw4Cuc2nmwMCuc3L5gQCuc2zsgwCxsq3sQoC/aPmzggCpM23sQoCuc3DxwIC3KPmzggCh+rGqAgChKbr/g4ClPD6xgsCr/L07wkC7tqwgwUCtL2fYQLw0+rVBQKSg7DZBwL3teCNBAL3tZyNBAL3tYiNBALHpriBCAKahuPBAV+BOBC5oXM0AZHQT+bmVMUgNw6K" /> 

Notez la première partie de la « mauvaise URL »:

PLZ1f5srE_3_5bqe5SNJORbrjr9bvaTarv3MMKJi1fn

Présent dans la balise de script de mon HTML et la deuxième partie de la mauvaise URL:

GsDQLshr2sDQLshrmsDQLshrWsDQLshrGsDQLshq2sDQLshumvDQL72ZKbBQK5zYfpBAK5zZuMAwLEytPECwLbo5IqArrNo5oDAsbKp5sDAsbK66oFArnN28ILArnNj9UCAsfK8/UJAqTNm4oJAv2jypsOAvCjpoIOAsbK/6EDArnN254FAsbKh70KAqTNg7wKAqTNw84NAsTKm9ACAsbK8/UJAtyj + uUHAsfKz + cEArnNg + gEAqTN1 + UEArnNv78KAsfK560FArrNg7wKArnNr5kDAqTNr5kDAsbKo5oDAsfKm9ACAv2jpoIOAsfK6/cJArnN0 + QEArnN560FArnN08QLAv2jzpgOAsbK5/YJAqTN28ILAsbKo + AEAqTNk9ICArnN350DAsbKm9ACAsbK44kJAqfNn4sJArnNs4YDArnN76sFArjNl9MCAsbK6/cJArnN7/QJAqTN0/0JAsbKi7oKAqfNm4oJAv2j + uUHAsfKi7oKArnN44kJArnNu74KAsbKi9QCArnN5/YJAqTNz + cEArnNm4oJAsbKt4cDAsTK5/YJArnNh70KArnNp8ELArnNt4cDArnNn9ECAtrKm9ACAsbKj9UCArnNn4sJAsbK7/QJArnNi9QCArnNy8wNAsTK + 8ANAsbKs4YDAqTNi9QCAsfKk9ICArnNl9MCAvqjpoIOArnNo + AEArnNs7AKArnN0/0JAsfKo5oDAsbK/8ENAsfK08QLAsbKk9ICAsbK0 + QEAr3Nl9MCAsbK3 + MEAsfK + 8ANAsbK + 8ANArnNg7wKAt3Km9ACArnN/8YCArnN3 + MEArnNq5gDAvujpoIOArnNi7oKAsfK5/YJArnNk9ICArnN/8ENAqfNo5oDArnNz + cEArrN560FArnNr7UMAt3K5/YJAsfK3 + MEAqTN/6EDArrN/6EDAtyjkioCp83nrQUC xMqLugoCuc3Dzg0CpM3TxAsCp82DvAoCxsqf0QICvc3nrQUC26PmzggCpM3L5gQCpM2fiwkCp83/oQMCpM2jmgMCuc23sQoCuc2H1wICxMrr9wkCuc3rowoCuc3r9wkCus2X0wICp82X0wICuc3z9QkCuc2jmgMCuc37lgUCx8qHvQoCp83P5wQCuc3voAoCuc2b0AICxsrTxAsCxMqjmgMCpM2X0wIC3crr9wkCus23sQoCxsrP5wQCxsrnrQUC26P65QcCuc37wA0Cuc3/oQMCpM37wA0Cp823sQoCuc2XjwMCuc3rqgUCpM3nrQUCuc3X + gkCuc3PzQ0C/aOGig4Cuc2HyQsCxsq7vgoCuc3X5QQC + qPKmw4Cuc2nmwMCuc3L5gQCuc2zsgwCxsq3sQoC/aPmzggCpM23sQoCuc3DxwIC3KPmzggCh + rGqAgChKbr/g4

Peut-on trouver dans la balise d'entrée de mon html.

Donc de toute façon je suppose que le client reçoit du code html qui a été corrompu/coupé je ne sais pas ou mélangé avec une autre demande. Pourrait également être que la production est sur iis 6 tandis que le développement est sur iis 7. Le serveur de production utilise également SSL, donc pas sûr si cela pourrait interférer. Serait-ce le Server.Transfer dans mon code?

Quelqu'un peut-il m'aider avec ceci?

Merci beaucoup!

+0

Qu'est-ce que WebResouce.axd? Je suppose que vous n'ajoutez pas vous-même l'identifiant unique (ce qui serait le problème évident si vous l'étiez). – Ted

+0

Tout ce texte base64 rend votre question difficile à lire, et n'ajoute aucune information utile. – RickNZ

+0

juste devinez, est IIS urlscan installé sur ce serveur de production? –

Répondre

1

Internet Explorer a un 2083-character limit on URLs.

Votre paramètre de validation __EVENTVALIDATION seul a une longueur de 1877 caractères. Ajouté au reste de l'URL (pas clair à partir de la question, mais peut-être quelque chose de similaire à ce que dans src de l'élément script), vous êtes au-dessus de cette limite.

Vous pouvez constater que vous devez utiliser HTTP POST pour ce type de requête (en raison de la longueur).

Ce qui pourrait expliquer la différence entre le dev. et le serveur de production est que vous pouvez avoir une URL de base plus courte sur votre dev. machine (par exemple localhost serait plus court que www.example.com), puisque vous êtes juste à la limite réelle, cela peut encore fonctionner sur votre dev. serveur.